mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
* dsrec.c (load_srec, make_srec): Use bfd_get_section_size instead of
bfd_get_section_size_before_reloc or _raw_size. * dwarf2-frame.c (dwarf2_build_frame_info): Likewise. * dwarf2read.c (dwarf2_locate_sections): Likewise. (dwarf2_read_section): Likewise. * elfread.c (elf_locate_sections): Likewise. * gcore.c (derive_heap_segment): Likewise. * mipsread.c (read_alphacoff_dynamic_symtab): Likewise. * remote-e7000.c (e7000_load): Likewise. * remote-m32r-sdi.c (m32r_load): Likewise. * remote-mips.c (mips_load_srec): Likewise. (pmon_load_fast): Likewise. * remote.c (compare_sections_command): Likewise. * symfile.c (add_section_size_callback): Likewise. (load_section_callback): Likewise. (pc_in_unmapped_range): Likewise. (pc_in_mapped_range): Likewise. (sections_overlap): Likewise. (list_overlays_command): Likewise. (simple_overlay_update_1): Likewise. (simple_overlay_update): Likewise. * tracepoint.c (remote_set_transparent_ranges): Likewise. * win32-nat.c (core_section_load_dll_symbols): Likewise.
This commit is contained in:
parent
1bf404efc4
commit
2c500098f2
@ -1,3 +1,29 @@
|
||||
2004-06-15 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* dsrec.c (load_srec, make_srec): Use bfd_get_section_size instead of
|
||||
bfd_get_section_size_before_reloc or _raw_size.
|
||||
* dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
|
||||
* dwarf2read.c (dwarf2_locate_sections): Likewise.
|
||||
(dwarf2_read_section): Likewise.
|
||||
* elfread.c (elf_locate_sections): Likewise.
|
||||
* gcore.c (derive_heap_segment): Likewise.
|
||||
* mipsread.c (read_alphacoff_dynamic_symtab): Likewise.
|
||||
* remote-e7000.c (e7000_load): Likewise.
|
||||
* remote-m32r-sdi.c (m32r_load): Likewise.
|
||||
* remote-mips.c (mips_load_srec): Likewise.
|
||||
(pmon_load_fast): Likewise.
|
||||
* remote.c (compare_sections_command): Likewise.
|
||||
* symfile.c (add_section_size_callback): Likewise.
|
||||
(load_section_callback): Likewise.
|
||||
(pc_in_unmapped_range): Likewise.
|
||||
(pc_in_mapped_range): Likewise.
|
||||
(sections_overlap): Likewise.
|
||||
(list_overlays_command): Likewise.
|
||||
(simple_overlay_update_1): Likewise.
|
||||
(simple_overlay_update): Likewise.
|
||||
* tracepoint.c (remote_set_transparent_ranges): Likewise.
|
||||
* win32-nat.c (core_section_load_dll_symbols): Likewise.
|
||||
|
||||
2004-06-14 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* Makefile.in (hppa-hpux-tdep.o): Update dependency.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* S-record download support for GDB, the GNU debugger.
|
||||
Copyright 1995, 1996, 1997, 1999, 2000, 2001
|
||||
Copyright 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
@ -93,7 +93,7 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
|
||||
{
|
||||
int numbytes;
|
||||
bfd_vma addr = bfd_get_section_vma (abfd, s) + load_offset;
|
||||
bfd_size_type size = bfd_get_section_size_before_reloc (s);
|
||||
bfd_size_type size = bfd_get_section_size (s);
|
||||
char *section_name = (char *) bfd_get_section_name (abfd, s);
|
||||
/* Both GDB and BFD have mechanisms for printing addresses.
|
||||
In the below, GDB's is used so that the address is
|
||||
@ -263,7 +263,7 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
|
||||
if (sect && abfd)
|
||||
{
|
||||
payload_size = (*maxrecsize - (1 + 1 + 2 + addr_size * 2 + 2)) / 2;
|
||||
payload_size = min (payload_size, sect->_raw_size - sectoff);
|
||||
payload_size = min (payload_size, bfd_get_section_size (sect) - sectoff);
|
||||
|
||||
bfd_get_section_contents (abfd, sect, binbuf, sectoff, payload_size);
|
||||
}
|
||||
|
@ -1571,8 +1571,7 @@ dwarf2_build_frame_info (struct objfile *objfile)
|
||||
unit.dwarf_frame_buffer = dwarf2_read_section (objfile,
|
||||
dwarf_eh_frame_section);
|
||||
|
||||
unit.dwarf_frame_size
|
||||
= bfd_get_section_size_before_reloc (dwarf_eh_frame_section);
|
||||
unit.dwarf_frame_size = bfd_get_section_size (dwarf_eh_frame_section);
|
||||
unit.dwarf_frame_section = dwarf_eh_frame_section;
|
||||
|
||||
/* FIXME: kettenis/20030602: This is the DW_EH_PE_datarel base
|
||||
@ -1599,8 +1598,7 @@ dwarf2_build_frame_info (struct objfile *objfile)
|
||||
unit.cie = NULL;
|
||||
unit.dwarf_frame_buffer = dwarf2_read_section (objfile,
|
||||
dwarf_frame_section);
|
||||
unit.dwarf_frame_size
|
||||
= bfd_get_section_size_before_reloc (dwarf_frame_section);
|
||||
unit.dwarf_frame_size = bfd_get_section_size (dwarf_frame_section);
|
||||
unit.dwarf_frame_section = dwarf_frame_section;
|
||||
|
||||
frame_ptr = unit.dwarf_frame_buffer;
|
||||
|
@ -996,47 +996,47 @@ dwarf2_locate_sections (bfd *ignore_abfd, asection *sectp, void *ignore_ptr)
|
||||
{
|
||||
if (strcmp (sectp->name, INFO_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->info_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->info_size = bfd_get_section_size (sectp);
|
||||
dwarf_info_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, ABBREV_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->abbrev_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->abbrev_size = bfd_get_section_size (sectp);
|
||||
dwarf_abbrev_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, LINE_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->line_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->line_size = bfd_get_section_size (sectp);
|
||||
dwarf_line_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, PUBNAMES_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->pubnames_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->pubnames_size = bfd_get_section_size (sectp);
|
||||
dwarf_pubnames_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, ARANGES_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->aranges_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->aranges_size = bfd_get_section_size (sectp);
|
||||
dwarf_aranges_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, LOC_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->loc_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->loc_size = bfd_get_section_size (sectp);
|
||||
dwarf_loc_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, MACINFO_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->macinfo_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->macinfo_size = bfd_get_section_size (sectp);
|
||||
dwarf_macinfo_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, STR_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->str_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->str_size = bfd_get_section_size (sectp);
|
||||
dwarf_str_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, FRAME_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->frame_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->frame_size = bfd_get_section_size (sectp);
|
||||
dwarf_frame_section = sectp;
|
||||
}
|
||||
else if (strcmp (sectp->name, EH_FRAME_SECTION) == 0)
|
||||
@ -1044,13 +1044,13 @@ dwarf2_locate_sections (bfd *ignore_abfd, asection *sectp, void *ignore_ptr)
|
||||
flagword aflag = bfd_get_section_flags (ignore_abfd, sectp);
|
||||
if (aflag & SEC_HAS_CONTENTS)
|
||||
{
|
||||
dwarf2_per_objfile->eh_frame_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->eh_frame_size = bfd_get_section_size (sectp);
|
||||
dwarf_eh_frame_section = sectp;
|
||||
}
|
||||
}
|
||||
else if (strcmp (sectp->name, RANGES_SECTION) == 0)
|
||||
{
|
||||
dwarf2_per_objfile->ranges_size = bfd_get_section_size_before_reloc (sectp);
|
||||
dwarf2_per_objfile->ranges_size = bfd_get_section_size (sectp);
|
||||
dwarf_ranges_section = sectp;
|
||||
}
|
||||
}
|
||||
@ -4464,7 +4464,7 @@ dwarf2_read_section (struct objfile *objfile, asection *sectp)
|
||||
{
|
||||
bfd *abfd = objfile->obfd;
|
||||
char *buf, *retbuf;
|
||||
bfd_size_type size = bfd_get_section_size_before_reloc (sectp);
|
||||
bfd_size_type size = bfd_get_section_size (sectp);
|
||||
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
|
@ -83,12 +83,12 @@ elf_locate_sections (bfd *ignore_abfd, asection *sectp, void *eip)
|
||||
if (strcmp (sectp->name, ".debug") == 0)
|
||||
{
|
||||
ei->dboffset = sectp->filepos;
|
||||
ei->dbsize = bfd_get_section_size_before_reloc (sectp);
|
||||
ei->dbsize = bfd_get_section_size (sectp);
|
||||
}
|
||||
else if (strcmp (sectp->name, ".line") == 0)
|
||||
{
|
||||
ei->lnoffset = sectp->filepos;
|
||||
ei->lnsize = bfd_get_section_size_before_reloc (sectp);
|
||||
ei->lnsize = bfd_get_section_size (sectp);
|
||||
}
|
||||
else if (strcmp (sectp->name, ".stab") == 0)
|
||||
{
|
||||
|
@ -244,7 +244,7 @@ derive_heap_segment (bfd *abfd, bfd_vma *bottom, bfd_vma *top)
|
||||
|| strcmp (".bss", bfd_section_name (abfd, sec)) == 0)
|
||||
{
|
||||
sec_vaddr = bfd_get_section_vma (abfd, sec);
|
||||
sec_size = bfd_get_section_size_before_reloc (sec);
|
||||
sec_size = bfd_get_section_size (sec);
|
||||
if (sec_vaddr + sec_size > top_of_data_memory)
|
||||
top_of_data_memory = sec_vaddr + sec_size;
|
||||
}
|
||||
|
@ -234,10 +234,10 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets,
|
||||
|| si.got_sect == NULL)
|
||||
return;
|
||||
|
||||
sym_secsize = bfd_get_section_size_before_reloc (si.sym_sect);
|
||||
str_secsize = bfd_get_section_size_before_reloc (si.str_sect);
|
||||
dyninfo_secsize = bfd_get_section_size_before_reloc (si.dyninfo_sect);
|
||||
got_secsize = bfd_get_section_size_before_reloc (si.got_sect);
|
||||
sym_secsize = bfd_get_section_size (si.sym_sect);
|
||||
str_secsize = bfd_get_section_size (si.str_sect);
|
||||
dyninfo_secsize = bfd_get_section_size (si.dyninfo_sect);
|
||||
got_secsize = bfd_get_section_size (si.got_sect);
|
||||
sym_secptr = xmalloc (sym_secsize);
|
||||
cleanups = make_cleanup (free, sym_secptr);
|
||||
str_secptr = xmalloc (str_secsize);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Remote debugging interface for Renesas E7000 ICE, for GDB
|
||||
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003 Free Software Foundation, Inc.
|
||||
2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Support.
|
||||
|
||||
@ -1569,7 +1569,7 @@ e7000_load (char *args, int from_tty)
|
||||
file_ptr fptr;
|
||||
|
||||
section_address = bfd_get_section_vma (pbfd, section);
|
||||
section_size = bfd_get_section_size_before_reloc (section);
|
||||
section_size = bfd_get_section_size (section);
|
||||
|
||||
if (!quiet)
|
||||
printf_filtered ("[Loading section %s at 0x%s (%s bytes)]\n",
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Remote debugging interface for M32R/SDI.
|
||||
|
||||
Copyright 2003 Free Software Foundation, Inc.
|
||||
Copyright 2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Renesas Technology Co.
|
||||
Written by Kei Sakamoto <sakamoto.kei@renesas.com>.
|
||||
@ -1320,7 +1320,7 @@ m32r_load (char *args, int from_tty)
|
||||
int n;
|
||||
|
||||
section_address = bfd_section_lma (pbfd, section);
|
||||
section_size = bfd_get_section_size_before_reloc (section);
|
||||
section_size = bfd_get_section_size (section);
|
||||
|
||||
if (!mmu_on)
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Remote debugging interface for MIPS remote debugging protocol.
|
||||
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002 Free Software Foundation, Inc.
|
||||
2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Support. Written by Ian Lance Taylor
|
||||
<ian@cygnus.com>.
|
||||
@ -2648,12 +2648,12 @@ mips_load_srec (char *args)
|
||||
/* FIXME! vma too small????? */
|
||||
printf_filtered ("%s\t: 0x%4lx .. 0x%4lx ", s->name,
|
||||
(long) s->vma,
|
||||
(long) (s->vma + s->_raw_size));
|
||||
(long) (s->vma + bfd_get_section_size (s)));
|
||||
gdb_flush (gdb_stdout);
|
||||
|
||||
for (i = 0; i < s->_raw_size; i += numbytes)
|
||||
for (i = 0; i < bfd_get_section_size (s); i += numbytes)
|
||||
{
|
||||
numbytes = min (srec_frame, s->_raw_size - i);
|
||||
numbytes = min (srec_frame, bfd_get_section_size (s) - i);
|
||||
|
||||
bfd_get_section_contents (abfd, s, buffer, i, numbytes);
|
||||
|
||||
@ -3135,11 +3135,11 @@ pmon_load_fast (char *file)
|
||||
for (s = abfd->sections; s && !finished; s = s->next)
|
||||
if (s->flags & SEC_LOAD) /* only deal with loadable sections */
|
||||
{
|
||||
bintotal += s->_raw_size;
|
||||
final = (s->vma + s->_raw_size);
|
||||
bintotal += bfd_get_section_size (s);
|
||||
final = (s->vma + bfd_get_section_size (s));
|
||||
|
||||
printf_filtered ("%s\t: 0x%4x .. 0x%4x ", s->name, (unsigned int) s->vma,
|
||||
(unsigned int) (s->vma + s->_raw_size));
|
||||
(unsigned int) (s->vma + bfd_get_section_size (s)));
|
||||
gdb_flush (gdb_stdout);
|
||||
|
||||
/* Output the starting address */
|
||||
@ -3160,11 +3160,13 @@ pmon_load_fast (char *file)
|
||||
|
||||
reclen = 0;
|
||||
|
||||
for (i = 0; ((i < s->_raw_size) && !finished); i += binamount)
|
||||
for (i = 0;
|
||||
i < bfd_get_section_size (s) && !finished;
|
||||
i += binamount)
|
||||
{
|
||||
int binptr = 0;
|
||||
|
||||
binamount = min (BINCHUNK, s->_raw_size - i);
|
||||
binamount = min (BINCHUNK, bfd_get_section_size (s) - i);
|
||||
|
||||
bfd_get_section_contents (abfd, s, binbuf, i, binamount);
|
||||
|
||||
|
@ -4729,7 +4729,7 @@ compare_sections_command (char *args, int from_tty)
|
||||
if (!(s->flags & SEC_LOAD))
|
||||
continue; /* skip non-loadable section */
|
||||
|
||||
size = bfd_get_section_size_before_reloc (s);
|
||||
size = bfd_get_section_size (s);
|
||||
if (size == 0)
|
||||
continue; /* skip zero-length section */
|
||||
|
||||
|
@ -1350,7 +1350,7 @@ add_section_size_callback (bfd *abfd, asection *asec, void *data)
|
||||
{
|
||||
bfd_size_type *sum = data;
|
||||
|
||||
*sum += bfd_get_section_size_before_reloc (asec);
|
||||
*sum += bfd_get_section_size (asec);
|
||||
}
|
||||
|
||||
/* Opaque data for load_section_callback. */
|
||||
@ -1370,7 +1370,7 @@ load_section_callback (bfd *abfd, asection *asec, void *data)
|
||||
|
||||
if (bfd_get_section_flags (abfd, asec) & SEC_LOAD)
|
||||
{
|
||||
bfd_size_type size = bfd_get_section_size_before_reloc (asec);
|
||||
bfd_size_type size = bfd_get_section_size (asec);
|
||||
if (size > 0)
|
||||
{
|
||||
char *buffer;
|
||||
@ -2874,7 +2874,7 @@ pc_in_unmapped_range (CORE_ADDR pc, asection *section)
|
||||
if (overlay_debugging)
|
||||
if (section && section_is_overlay (section))
|
||||
{
|
||||
size = bfd_get_section_size_before_reloc (section);
|
||||
size = bfd_get_section_size (section);
|
||||
if (section->lma <= pc && pc < section->lma + size)
|
||||
return 1;
|
||||
}
|
||||
@ -2894,7 +2894,7 @@ pc_in_mapped_range (CORE_ADDR pc, asection *section)
|
||||
if (overlay_debugging)
|
||||
if (section && section_is_overlay (section))
|
||||
{
|
||||
size = bfd_get_section_size_before_reloc (section);
|
||||
size = bfd_get_section_size (section);
|
||||
if (section->vma <= pc && pc < section->vma + size)
|
||||
return 1;
|
||||
}
|
||||
@ -2910,9 +2910,9 @@ sections_overlap (asection *a, asection *b)
|
||||
/* FIXME: need bfd *, so we can use bfd_section_vma methods. */
|
||||
|
||||
CORE_ADDR a_start = a->vma;
|
||||
CORE_ADDR a_end = a->vma + bfd_get_section_size_before_reloc (a);
|
||||
CORE_ADDR a_end = a->vma + bfd_get_section_size (a);
|
||||
CORE_ADDR b_start = b->vma;
|
||||
CORE_ADDR b_end = b->vma + bfd_get_section_size_before_reloc (b);
|
||||
CORE_ADDR b_end = b->vma + bfd_get_section_size (b);
|
||||
|
||||
return (a_start < b_end && b_start < a_end);
|
||||
}
|
||||
@ -3047,7 +3047,7 @@ list_overlays_command (char *args, int from_tty)
|
||||
|
||||
vma = bfd_section_vma (objfile->obfd, osect->the_bfd_section);
|
||||
lma = bfd_section_lma (objfile->obfd, osect->the_bfd_section);
|
||||
size = bfd_get_section_size_before_reloc (osect->the_bfd_section);
|
||||
size = bfd_get_section_size (osect->the_bfd_section);
|
||||
name = bfd_section_name (objfile->obfd, osect->the_bfd_section);
|
||||
|
||||
printf_filtered ("Section %s, loaded at ", name);
|
||||
@ -3387,7 +3387,7 @@ simple_overlay_update_1 (struct obj_section *osect)
|
||||
bfd *obfd = osect->objfile->obfd;
|
||||
asection *bsect = osect->the_bfd_section;
|
||||
|
||||
size = bfd_get_section_size_before_reloc (osect->the_bfd_section);
|
||||
size = bfd_get_section_size (osect->the_bfd_section);
|
||||
for (i = 0; i < cache_novlys; i++)
|
||||
if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect)
|
||||
&& cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect)
|
||||
@ -3448,7 +3448,7 @@ simple_overlay_update (struct obj_section *osect)
|
||||
bfd *obfd = osect->objfile->obfd;
|
||||
asection *bsect = osect->the_bfd_section;
|
||||
|
||||
size = bfd_get_section_size_before_reloc (osect->the_bfd_section);
|
||||
size = bfd_get_section_size (bsect);
|
||||
for (i = 0; i < cache_novlys; i++)
|
||||
if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect)
|
||||
&& cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Tracing functionality for remote targets in custom GDB protocol
|
||||
|
||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@ -1693,7 +1693,7 @@ remote_set_transparent_ranges (void)
|
||||
|
||||
anysecs = 1;
|
||||
lma = s->lma;
|
||||
size = bfd_get_section_size_before_reloc (s);
|
||||
size = bfd_get_section_size (s);
|
||||
sprintf_vma (tmp1, lma);
|
||||
sprintf_vma (tmp2, lma + size);
|
||||
sprintf (target_buf + strlen (target_buf),
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Target-vector operations for controlling win32 child processes, for GDB.
|
||||
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Solutions, A Red Hat Company.
|
||||
|
||||
@ -2340,20 +2340,20 @@ core_section_load_dll_symbols (bfd * abfd, asection * sect, void *obj)
|
||||
if (strncmp (sect->name, ".module", 7))
|
||||
return;
|
||||
|
||||
buf = (char *) xmalloc (sect->_raw_size + 1);
|
||||
buf = (char *) xmalloc (bfd_get_section_size (sect) + 1);
|
||||
if (!buf)
|
||||
{
|
||||
printf_unfiltered ("memory allocation failed for %s\n", sect->name);
|
||||
goto out;
|
||||
}
|
||||
if (!bfd_get_section_contents (abfd, sect, buf, 0, sect->_raw_size))
|
||||
if (!bfd_get_section_contents (abfd, sect, buf, 0, bfd_get_section_size (sect)))
|
||||
goto out;
|
||||
|
||||
pstatus = (struct win32_pstatus *) buf;
|
||||
|
||||
memmove (&base_addr, &(pstatus->data.module_info.base_address), sizeof (base_addr));
|
||||
dll_name_size = pstatus->data.module_info.module_name_size;
|
||||
if (offsetof (struct win32_pstatus, data.module_info.module_name) + dll_name_size > sect->_raw_size)
|
||||
if (offsetof (struct win32_pstatus, data.module_info.module_name) + dll_name_size > bfd_get_section_size (sect))
|
||||
goto out;
|
||||
|
||||
dll_name = (char *) xmalloc (dll_name_size + 1);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Target-vector operations for controlling win32 child processes, for GDB.
|
||||
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Solutions, A Red Hat Company.
|
||||
|
||||
@ -2340,20 +2340,20 @@ core_section_load_dll_symbols (bfd * abfd, asection * sect, void *obj)
|
||||
if (strncmp (sect->name, ".module", 7))
|
||||
return;
|
||||
|
||||
buf = (char *) xmalloc (sect->_raw_size + 1);
|
||||
buf = (char *) xmalloc (bfd_get_section_size (sect) + 1);
|
||||
if (!buf)
|
||||
{
|
||||
printf_unfiltered ("memory allocation failed for %s\n", sect->name);
|
||||
goto out;
|
||||
}
|
||||
if (!bfd_get_section_contents (abfd, sect, buf, 0, sect->_raw_size))
|
||||
if (!bfd_get_section_contents (abfd, sect, buf, 0, bfd_get_section_size (sect)))
|
||||
goto out;
|
||||
|
||||
pstatus = (struct win32_pstatus *) buf;
|
||||
|
||||
memmove (&base_addr, &(pstatus->data.module_info.base_address), sizeof (base_addr));
|
||||
dll_name_size = pstatus->data.module_info.module_name_size;
|
||||
if (offsetof (struct win32_pstatus, data.module_info.module_name) + dll_name_size > sect->_raw_size)
|
||||
if (offsetof (struct win32_pstatus, data.module_info.module_name) + dll_name_size > bfd_get_section_size (sect))
|
||||
goto out;
|
||||
|
||||
dll_name = (char *) xmalloc (dll_name_size + 1);
|
||||
|
Loading…
Reference in New Issue
Block a user