From: Michael Snyder Date: Fri, 12 Apr 2002 23:09:48 +0000 (+0000) Subject: 2002-04-12 Michael Snyder X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=20fe79c82c7b8d7898a20205b50a36c4b41cc938;p=deliverable%2Fbinutils-gdb.git 2002-04-12 Michael Snyder * gcore.c (default_derive_heap_segment): Use bfd_section_name. If no symbol found for "sbrk", try "_sbrk". (make_output_phdrs): Use bfd_section_name. (gcore_copy_callback): Use bfd_section_name. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dd443f68b5..37db04c91d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -18,6 +18,10 @@ 2002-04-12 Michael Snyder + * gcore.c (default_derive_heap_segment): Use bfd_section_name. + If no symbol found for "sbrk", try "_sbrk". + (make_output_phdrs): Use bfd_section_name. + (gcore_copy_callback): Use bfd_section_name. * eval.c: Indentation fix-ups. * d10v-tdep.c (d10v_make_iaddr): Make it idempotent, in case it gets applied to an address that is already diff --git a/gdb/gcore.c b/gdb/gcore.c index 494efad460..25d1ed70e2 100644 --- a/gdb/gcore.c +++ b/gdb/gcore.c @@ -269,7 +269,7 @@ default_derive_heap_segment (bfd *abfd, bfd_vma *bottom, bfd_vma *top) for (sec = abfd->sections; sec; sec = sec->next) { if (bfd_get_section_flags (abfd, sec) & SEC_DATA || - strcmp (".bss", bfd_get_section_name (abfd, sec)) == 0) + 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); @@ -278,8 +278,19 @@ default_derive_heap_segment (bfd *abfd, bfd_vma *bottom, bfd_vma *top) } } /* Now get the top-of-heap by calling sbrk in the inferior. */ - if ((sbrk = find_function_in_inferior ("sbrk")) == NULL) + if (lookup_minimal_symbol ("sbrk", NULL, NULL) != NULL) + { + if ((sbrk = find_function_in_inferior ("sbrk")) == NULL) + return 0; + } + else if (lookup_minimal_symbol ("_sbrk", NULL, NULL) != NULL) + { + if ((sbrk = find_function_in_inferior ("_sbrk")) == NULL) + return 0; + } + else return 0; + if ((zero = value_from_longest (builtin_type_int, (LONGEST) 0)) == NULL) return 0; if ((sbrk = call_function_by_hand (sbrk, 1, &zero)) == NULL) @@ -314,7 +325,7 @@ make_output_phdrs (bfd *obfd, asection *osec, void *ignored) int p_type; /* FIXME: these constants may only be applicable for ELF. */ - if (strncmp (osec->name, "load", 4) == 0) + if (strncmp (bfd_section_name (obfd, osec), "load", 4) == 0) p_type = PT_LOAD; else p_type = PT_NOTE; @@ -452,7 +463,7 @@ gcore_copy_callback (bfd *obfd, asection *osec, void *ignored) if (size == 0) return; /* Read-only sections are marked as zero-size. We don't have to copy their contents. */ - if (strncmp ("load", bfd_get_section_name (obfd, osec), 4) != 0) + if (strncmp ("load", bfd_section_name (obfd, osec), 4) != 0) return; /* Only interested in "load" sections. */ if ((memhunk = xmalloc (size)) == NULL)