* 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.
This commit is contained in:
parent
ab276dfa72
commit
631b10f44e
|
@ -1,5 +1,30 @@
|
||||||
Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
|
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
|
* coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
|
||||||
_bfd_dummy_target, matching the recent change to archive
|
_bfd_dummy_target, matching the recent change to archive
|
||||||
recognition.
|
recognition.
|
||||||
|
|
|
@ -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_sizeof_headers _bfd_elf_sizeof_headers
|
||||||
#define bfd_elfNN_write_object_contents _bfd_elf_write_object_contents
|
#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
|
#ifndef elf_backend_want_got_plt
|
||||||
#define elf_backend_want_got_plt 0
|
#define elf_backend_want_got_plt 0
|
||||||
#endif
|
#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
|
#ifndef bfd_elfNN_bfd_copy_private_symbol_data
|
||||||
#define 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
|
#endif
|
||||||
|
|
||||||
#ifndef bfd_elfNN_bfd_copy_private_section_data
|
#ifndef bfd_elfNN_bfd_copy_private_section_data
|
||||||
#define 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
|
#endif
|
||||||
#ifndef bfd_elfNN_bfd_copy_private_bfd_data
|
#ifndef bfd_elfNN_bfd_copy_private_bfd_data
|
||||||
#define bfd_elfNN_bfd_copy_private_bfd_data \
|
#define bfd_elfNN_bfd_copy_private_bfd_data \
|
||||||
|
|
Loading…
Reference in New Issue