aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-02-14 23:03:45 +0000
committerIan Lance Taylor <ian@airs.com>1995-02-14 23:03:45 +0000
commit580102b0261e1a1dde16f005b402dd024362e170 (patch)
treefcbbb9e46388a6799a2cd9547cb1067661178849 /bfd
parent5466f20ff2d5943d449c0de468f67f05532586b5 (diff)
downloadgdb-580102b0261e1a1dde16f005b402dd024362e170.zip
gdb-580102b0261e1a1dde16f005b402dd024362e170.tar.gz
gdb-580102b0261e1a1dde16f005b402dd024362e170.tar.bz2
* elf32-mips.c (struct mips_elf_find_line): Define.
(mips_elf_find_nearest_line): New static function. (bfd_elf32_find_nearest_line): Define. * libelf.h (struct elf_obj_tdata): Add find_line_info field. * ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c. (_bfd_ecoff_swap_tir_out): Likewise. (_bfd_ecoff_swap_rndx_in): Likewise. (_bfd_ecoff_swap_rndx_out): Likewise. (cmp_fdrtab_entry): Likewise. (mk_fdrtab): Likewise. (lookup): Likewise. (_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line to do most of the work. Allocate find_line_info if necessary. * ecofflink.c: Include "aout/stab_gnu.h". (_bfd_ecoff_swap_tir_in): Move in from ecoff.c. (_bfd_ecoff_swap_tir_out): Likewise. (_bfd_ecoff_swap_rndx_in): Likewise. (_bfd_ecoff_swap_rndx_out): Likewise. (cmp_fdrtab_entry): Likewise. Use PTR instead of void *. (mk_fdrtab): Move in from ecoff.c. Add debug_info, debug_swap, and line_info arguments, and use them instead of ecoff_data. (fdrtab_lookup): Move in from lookup in ecoff.c. Remove abfd argument, add line_info argument. Use it instead of ecoff_data. (_bfd_ecoff_locate_line): New function, mostly from the old _bfd_ecoff_find_nearest_line in ecoff.c. * libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and fdrtab fields, replacing them find_line_info field. (_bfd_ecoff_swap_tir_in): Declare. (_bfd_ecoff_swap_tir_out): Declare. (_bfd_ecoff_swap_rndx_in): Declare. (_bfd_ecoff_swap_rndx_out): Declare. * libbfd-in.h (_bfd_ecoff_locate_line): Declare. * libbfd.h: Rebuild. * configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or bfd_elf32_littlemips_vec. * Makefile.in: Rebuild dependencies.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/libelf.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/libelf.h b/bfd/libelf.h
index 1c75f48..01d1599 100644
--- a/bfd/libelf.h
+++ b/bfd/libelf.h
@@ -490,6 +490,12 @@ struct elf_obj_tdata
/* Records the result of `get_program_header_size'. */
bfd_size_type program_header_size;
+
+ /* Used by MIPS ELF find_nearest_line entry point. The structure
+ could be included directly in this one, but there's no point to
+ wasting the memory just for the infrequently called
+ find_nearest_line. */
+ struct mips_elf_find_line *find_line_info;
};
#define elf_tdata(bfd) ((bfd) -> tdata.elf_obj_data)