From: Ian Lance Taylor Date: Tue, 14 Feb 1995 23:03:45 +0000 (+0000) Subject: * elf32-mips.c (struct mips_elf_find_line): Define. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=580102b0261e1a1dde16f005b402dd024362e170;p=binutils-gdb.git * 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. --- diff --git a/bfd/libelf.h b/bfd/libelf.h index 1c75f482b35..01d159909f6 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)