Browse Source

* 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.
jimb-rda-nptl-branch
Alan Modra 22 years ago
parent
commit
2c500098f2
  1. 26
      gdb/ChangeLog
  2. 6
      gdb/dsrec.c
  3. 6
      gdb/dwarf2-frame.c
  4. 24
      gdb/dwarf2read.c
  5. 4
      gdb/elfread.c
  6. 2
      gdb/gcore.c
  7. 8
      gdb/mipsread.c
  8. 4
      gdb/remote-e7000.c
  9. 4
      gdb/remote-m32r-sdi.c
  10. 20
      gdb/remote-mips.c
  11. 2
      gdb/remote.c
  12. 18
      gdb/symfile.c
  13. 6
      gdb/tracepoint.c
  14. 10
      gdb/win32-nat.c
  15. 10
      gdb/windows-nat.c

26
gdb/ChangeLog

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

6
gdb/dsrec.c

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

6
gdb/dwarf2-frame.c

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

24
gdb/dwarf2read.c

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

4
gdb/elfread.c

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

2
gdb/gcore.c

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

8
gdb/mipsread.c

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

4
gdb/remote-e7000.c

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

4
gdb/remote-m32r-sdi.c

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

20
gdb/remote-mips.c

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

2
gdb/remote.c

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

18
gdb/symfile.c

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

6
gdb/tracepoint.c

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

10
gdb/win32-nat.c

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

10
gdb/windows-nat.c

@ -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…
Cancel
Save