* 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:
Alan Modra 2004-06-15 01:04:20 +00:00
parent 1bf404efc4
commit 2c500098f2
15 changed files with 88 additions and 62 deletions

View File

@ -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.

View File

@ -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);
}

View File

@ -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;

View File

@ -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;

View File

@ -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)
{

View File

@ -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;
}

View File

@ -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);

View File

@ -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",

View File

@ -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)
{

View File

@ -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);

View File

@ -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 */

View File

@ -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)

View File

@ -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),

View File

@ -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);

View File

@ -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);