projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdbserver: include aarch32/aarch64 header file in corresponding source file
[deliverable/binutils-gdb.git]
/
gdb
/
solib-frv.c
diff --git
a/gdb/solib-frv.c
b/gdb/solib-frv.c
index 7929efd786729c94488139939d8f2dfb5c8de219..10476f6250c94554c7ca6adef4609b34424fb018 100644
(file)
--- a/
gdb/solib-frv.c
+++ b/
gdb/solib-frv.c
@@
-1,5
+1,5
@@
/* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
/* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
- Copyright (C) 2004-20
18
Free Software Foundation, Inc.
+ Copyright (C) 2004-20
20
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-377,7
+377,7
@@
frv_current_sos (void)
if (got_addr != mgot)
{
int errcode;
if (got_addr != mgot)
{
int errcode;
-
char *
name_buf;
+
gdb::unique_xmalloc_ptr<char>
name_buf;
struct int_elf32_fdpic_loadmap *loadmap;
struct so_list *sop;
CORE_ADDR addr;
struct int_elf32_fdpic_loadmap *loadmap;
struct so_list *sop;
CORE_ADDR addr;
@@
-409,16
+409,16
@@
frv_current_sos (void)
if (solib_frv_debug)
fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
if (solib_frv_debug)
fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
- name_buf);
+ name_buf
.get ()
);
if (errcode != 0)
warning (_("Can't read pathname for link map entry: %s."),
safe_strerror (errcode));
else
{
if (errcode != 0)
warning (_("Can't read pathname for link map entry: %s."),
safe_strerror (errcode));
else
{
- strncpy (sop->so_name, name_buf, SO_NAME_MAX_PATH_SIZE - 1);
+ strncpy (sop->so_name, name_buf.get (),
+ SO_NAME_MAX_PATH_SIZE - 1);
sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
- xfree (name_buf);
strcpy (sop->so_original_name, sop->so_name);
}
strcpy (sop->so_original_name, sop->so_name);
}
@@
-546,7
+546,7
@@
enable_break2 (void)
/* Read the contents of the .interp section into a local buffer;
the contents specify the dynamic linker this program uses. */
/* Read the contents of the .interp section into a local buffer;
the contents specify the dynamic linker this program uses. */
- interp_sect_size = bfd_section_size (
exec_bfd,
interp_sect);
+ interp_sect_size = bfd_section_size (interp_sect);
buf = (char *) alloca (interp_sect_size);
bfd_get_section_contents (exec_bfd, interp_sect,
buf, 0, interp_sect_size);
buf = (char *) alloca (interp_sect_size);
bfd_get_section_contents (exec_bfd, interp_sect,
buf, 0, interp_sect_size);
@@
-561,14
+561,13
@@
enable_break2 (void)
mechanism to find the dynamic linker's base address. */
gdb_bfd_ref_ptr tmp_bfd;
mechanism to find the dynamic linker's base address. */
gdb_bfd_ref_ptr tmp_bfd;
- TRY
+ try
{
tmp_bfd = solib_bfd_open (buf);
}
{
tmp_bfd = solib_bfd_open (buf);
}
-
CATCH (ex, RETURN_MASK_ALL
)
+
catch (const gdb_exception &ex
)
{
}
{
}
- END_CATCH
if (tmp_bfd == NULL)
{
if (tmp_bfd == NULL)
{
@@
-604,24
+603,20
@@
enable_break2 (void)
interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".text");
if (interp_sect)
{
interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".text");
if (interp_sect)
{
- interp_text_sect_low
- = bfd_section_vma (tmp_bfd.get (), interp_sect);
+ interp_text_sect_low = bfd_section_vma (interp_sect);
interp_text_sect_low
+= displacement_from_map (ldm, interp_text_sect_low);
interp_text_sect_high
interp_text_sect_low
+= displacement_from_map (ldm, interp_text_sect_low);
interp_text_sect_high
- = interp_text_sect_low + bfd_section_size (tmp_bfd.get (),
- interp_sect);
+ = interp_text_sect_low + bfd_section_size (interp_sect);
}
interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".plt");
if (interp_sect)
{
}
interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".plt");
if (interp_sect)
{
- interp_plt_sect_low =
- bfd_section_vma (tmp_bfd.get (), interp_sect);
+ interp_plt_sect_low = bfd_section_vma (interp_sect);
interp_plt_sect_low
+= displacement_from_map (ldm, interp_plt_sect_low);
interp_plt_sect_high =
interp_plt_sect_low
+= displacement_from_map (ldm, interp_plt_sect_low);
interp_plt_sect_high =
- interp_plt_sect_low + bfd_section_size (tmp_bfd.get (),
- interp_sect);
+ interp_plt_sect_low + bfd_section_size (interp_sect);
}
addr = gdb_bfd_lookup_symbol (tmp_bfd.get (), cmp_name, "_dl_debug_addr");
}
addr = gdb_bfd_lookup_symbol (tmp_bfd.get (), cmp_name, "_dl_debug_addr");
@@
-769,8
+764,6
@@
frv_relocate_main_executable (void)
int status;
CORE_ADDR exec_addr, interp_addr;
struct int_elf32_fdpic_loadmap *ldm;
int status;
CORE_ADDR exec_addr, interp_addr;
struct int_elf32_fdpic_loadmap *ldm;
- struct cleanup *old_chain;
- struct section_offsets *new_offsets;
int changed;
struct obj_section *osect;
int changed;
struct obj_section *osect;
@@
-792,9
+785,7
@@
frv_relocate_main_executable (void)
main_executable_lm_info = new lm_info_frv;
main_executable_lm_info->map = ldm;
main_executable_lm_info = new lm_info_frv;
main_executable_lm_info->map = ldm;
- new_offsets = XCNEWVEC (struct section_offsets,
- symfile_objfile->num_sections);
- old_chain = make_cleanup (xfree, new_offsets);
+ section_offsets new_offsets (symfile_objfile->section_offsets.size ());
changed = 0;
ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
changed = 0;
ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
@@
-808,7
+799,7
@@
frv_relocate_main_executable (void)
/* Current address of section. */
addr = obj_section_addr (osect);
/* Offset from where this section started. */
/* Current address of section. */
addr = obj_section_addr (osect);
/* Offset from where this section started. */
- offset =
ANOFFSET (symfile_objfile->section_offsets, osect_idx)
;
+ offset =
symfile_objfile->section_offsets[osect_idx]
;
/* Original address prior to any past relocations. */
orig_addr = addr - offset;
/* Original address prior to any past relocations. */
orig_addr = addr - offset;
@@
-817,10
+808,10
@@
frv_relocate_main_executable (void)
if (ldm->segs[seg].p_vaddr <= orig_addr
&& orig_addr < ldm->segs[seg].p_vaddr + ldm->segs[seg].p_memsz)
{
if (ldm->segs[seg].p_vaddr <= orig_addr
&& orig_addr < ldm->segs[seg].p_vaddr + ldm->segs[seg].p_memsz)
{
- new_offsets
->offsets
[osect_idx]
+ new_offsets[osect_idx]
= ldm->segs[seg].addr - ldm->segs[seg].p_vaddr;
= ldm->segs[seg].addr - ldm->segs[seg].p_vaddr;
- if (new_offsets
->offsets
[osect_idx] != offset)
+ if (new_offsets[osect_idx] != offset)
changed = 1;
break;
}
changed = 1;
break;
}
@@
-830,8
+821,6
@@
frv_relocate_main_executable (void)
if (changed)
objfile_relocate (symfile_objfile, new_offsets);
if (changed)
objfile_relocate (symfile_objfile, new_offsets);
- do_cleanups (old_chain);
-
/* Now that symfile_objfile has been relocated, we can compute the
GOT value and stash it away. */
main_executable_lm_info->got_value = main_got ();
/* Now that symfile_objfile has been relocated, we can compute the
GOT value and stash it away. */
main_executable_lm_info->got_value = main_got ();
@@
-969,7
+958,7
@@
frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point)
if (sym == 0)
name = 0;
else
if (sym == 0)
name = 0;
else
- name =
SYMBOL_LINKAGE_NAME (sym
);
+ name =
sym->linkage_name (
);
/* Check the main executable. */
addr = find_canonical_descriptor_in_load_object
/* Check the main executable. */
addr = find_canonical_descriptor_in_load_object
This page took
0.029854 seconds
and
4
git commands to generate.