aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-11-15 01:34:56 +0000
committerIan Lance Taylor <ian@airs.com>1995-11-15 01:34:56 +0000
commit631b10f44e08b1b4daefc4d1ecd0ce9eca0c9a30 (patch)
treed446b782edcbda95cd69a35c17adeac4abf236a9 /bfd
parentab276dfa721c1328a15a6bb9b184083a35016a87 (diff)
downloadgdb-631b10f44e08b1b4daefc4d1ecd0ce9eca0c9a30.zip
gdb-631b10f44e08b1b4daefc4d1ecd0ce9eca0c9a30.tar.gz
gdb-631b10f44e08b1b4daefc4d1ecd0ce9eca0c9a30.tar.bz2
* elf.c (bfd_section_from_shdr): When using a different section
header, pass the new one to _bfd_elf_make_section_from_shdr. (elf_fake_sections): Don't set sh_info and sh_entsize fields. (elf_map_symbols): Add section VMA to symbol value when comparing against 0. (_bfd_elf_compute_section_file_positions): Only build symbol table if there are some symbols. Set file offset of symtab and strtab sections. (assign_file_positions_except_relocs): Remove dosyms parameter. Change all callers. Never set file offset of symtab and strtab sections. (_bfd_elf_copy_private_section_data): New function. (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define. (_bfd_elf_copy_private_symbol_data): New function. (swap_out_syms): Check for special mapping of st_shndx created by copy_private_symbol_data. * elfxx-target.h: Use new copy routines. * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare. (_bfd_elf_copy_private_section_data): Declare.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog25
-rw-r--r--bfd/elfxx-target.h8
2 files changed, 31 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6e5121e..9d90a79 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,30 @@
Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
+ * elf.c (bfd_section_from_shdr): When using a different section
+ header, pass the new one to _bfd_elf_make_section_from_shdr.
+ (elf_fake_sections): Don't set sh_info and sh_entsize fields.
+ (elf_map_symbols): Add section VMA to symbol value when comparing
+ against 0.
+ (_bfd_elf_compute_section_file_positions): Only build symbol table
+ if there are some symbols. Set file offset of symtab and strtab
+ sections.
+ (assign_file_positions_except_relocs): Remove dosyms parameter.
+ Change all callers. Never set file offset of symtab and strtab
+ sections.
+ (_bfd_elf_copy_private_section_data): New function.
+ (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
+ (_bfd_elf_copy_private_symbol_data): New function.
+ (swap_out_syms): Check for special mapping of st_shndx created by
+ copy_private_symbol_data.
+ * elfxx-target.h: Use new copy routines.
+ * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
+ (_bfd_elf_copy_private_section_data): Declare.
+
+ * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
+
+ * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
+ C_NT_WEAK.
+
* coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
_bfd_dummy_target, matching the recent change to archive
recognition.
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h
index 225f5a6..5ef3ed0 100644
--- a/bfd/elfxx-target.h
+++ b/bfd/elfxx-target.h
@@ -56,6 +56,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define bfd_elfNN_sizeof_headers _bfd_elf_sizeof_headers
#define bfd_elfNN_write_object_contents _bfd_elf_write_object_contents
+#define bfd_elfNN_get_section_contents_in_window \
+ _bfd_generic_get_section_contents_in_window
+
#ifndef elf_backend_want_got_plt
#define elf_backend_want_got_plt 0
#endif
@@ -85,11 +88,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef bfd_elfNN_bfd_copy_private_symbol_data
#define bfd_elfNN_bfd_copy_private_symbol_data \
- ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true)
+ _bfd_elf_copy_private_symbol_data
#endif
+
#ifndef bfd_elfNN_bfd_copy_private_section_data
#define bfd_elfNN_bfd_copy_private_section_data \
- ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
+ _bfd_elf_copy_private_section_data
#endif
#ifndef bfd_elfNN_bfd_copy_private_bfd_data
#define bfd_elfNN_bfd_copy_private_bfd_data \