aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-06-20 02:04:20 +0000
committerJohn Gilmore <gnu@cygnus>1992-06-20 02:04:20 +0000
commit796aae470c86ac66dd43c452485dbb090d7b5370 (patch)
tree11028b2941fab39fb621838324ef542acc6262cb /bfd
parent76b731f9ae672395bd6f5ef504c15d4813bce47c (diff)
downloadgdb-796aae470c86ac66dd43c452485dbb090d7b5370.zip
gdb-796aae470c86ac66dd43c452485dbb090d7b5370.tar.gz
gdb-796aae470c86ac66dd43c452485dbb090d7b5370.tar.bz2
* elf.c (bfd_elf_find_section): Mark as INTERNAL_FUNCTION so
its prototype will be included in libbfd.h. Change result type to struct * (rather than equivalent typedef) so it can be used in the prototype, where they typedef won't be known. * libbfd.h: Updated version.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/elf.c19
-rw-r--r--bfd/libbfd.h4
3 files changed, 27 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a8efd79..b21d009 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+Fri Jun 19 19:00:45 1992 John Gilmore (gnu at cygnus.com)
+
+ * elf.c (bfd_elf_find_section): Mark as INTERNAL_FUNCTION so
+ its prototype will be included in libbfd.h. Change result type
+ to struct * (rather than equivalent typedef) so it can be used in
+ the prototype, where they typedef won't be known.
+ * libbfd.h: Updated version.
+
Fri Jun 19 15:21:56 1992 Stu Grossman (grossman at cygnus.com)
* Makefile.in, archures.c, configure.in, cpu-hppa.c, hppa.c, libhppa.h,
diff --git a/bfd/elf.c b/bfd/elf.c
index c41ba0a..f437ce9 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -327,10 +327,23 @@ static boolean EXFUN(elf_slurp_symbol_table, (bfd *, Elf_Internal_Shdr*));
static void EXFUN(elf_info_to_howto, (bfd *, arelent *, Elf_Internal_Rela *));
static char *EXFUN(elf_get_str_section, (bfd *, unsigned int));
-/* Helper functions for GDB to locate the string tables. */
+/*
+INTERNAL_FUNCTION
+ bfd_elf_find_section
+
+SYNOPSIS
+ struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
+
+DESCRIPTION
+ Helper functions for GDB to locate the string tables.
+ Since BFD hides string tables from callers, GDB needs to use an
+ internal hook to find them. Sun's .stabstr, in particular,
+ isn't even pointed to by the .stab section, so ordinary
+ mechanisms wouldn't work to find it, even if we had some.
+*/
-Elf_Internal_Shdr *
-DEFUN(bfd_elf_find_section, (abfd, name), /* .stabstr offset */
+struct elf_internal_shdr *
+DEFUN(bfd_elf_find_section, (abfd, name),
bfd *abfd AND
char *name)
{
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 3b4f2c3..1f3de87 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -219,7 +219,8 @@ boolean EXFUN(bfd_generic_relax_section
asymbol **symbols));
bfd_byte *
EXFUN(bfd_generic_get_relocated_section_contents, (bfd *abfd,
- struct bfd_seclet_struct *seclet)
+ struct bfd_seclet_struct *seclet,
+ bfd_byte *data)
);
extern bfd_arch_info_type bfd_default_arch_struct;
@@ -232,3 +233,4 @@ CONST bfd_arch_info_type *EXFUN(bfd_default_compatible
, (CONST bfd_arch_info_type *a,
CONST bfd_arch_info_type *b));
boolean EXFUN(bfd_default_scan, (CONST struct bfd_arch_info *, CONST char *));
+struct elf_internal_shdr *EXFUN(bfd_elf_find_section , (bfd *abfd, char *name));