* coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
[binutils-gdb.git] / bfd / ChangeLog
index 933653aca83b8739fb221bf2e87fce8731d26b4e..c080c0b9d3e682e583fbf5cf05384a8f64f305ec 100644 (file)
@@ -1,3 +1,111 @@
+Tue Jun  7 13:25:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
+       set SEC_DEBUGGING for STYP_INFO sections.
+       (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
+       defined, and D_PAGED is set, set the file position equal to the
+       section VMA modulo COFF_PAGE_SIZE.
+       * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
+       * coff-i386.c: Set D_PAGED in BFD target.
+       (COFF_PAGE_SIZE): Define.
+       * coff-m68k.c, coff-sparc.c: Likewise.
+
+Mon Jun  6 10:57:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
+       into a BFD section just because SHF_ALLOC is set; require that it
+       not use the normal symbol table.
+       (elf_section_from_bfd_section): Corresponding change.
+
+       Better indirect and warning symbol handling inspired by Stuart
+       Quick <stuck@cs.man.ac.uk>.
+       * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
+       (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
+       to REF.  Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
+       REFC.  Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
+       Change DEFW_ROW/indr from CYCLE to NOACT.  Change INDR_ROW/indr
+       from MDEF to MIND.  Change INDR_ROW/warn from WARNC to CYCLE.
+       Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN.  Change
+       WARN_ROW/com from MWARN to WARN.  Change WARN_ROW/warn from NOACT
+       to CYCLE.  Change SET_ROW/warn from WARNC to CYCLE>
+       (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
+       REFC.  If a new indirect symbol has been referenced, push the
+       reference down to the symbol it points to.  FIx handling of WARN.
+       * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
+       clobber e_type of next symbol.
+       (translate_to_native_sym_flags): Likewise.
+       (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
+       as bfd_link_hash_indirect.
+
+       * libaout.h (struct aout_link_hash_entry): New field written.
+       * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
+       (aout_link_write_symbols): Use written, not root.written.
+       (aout_link_write_other_symbol): Likewise.
+       * sunos.c (sunos_scan_dynamic_symbol): Likewise.
+       * libecoff.h (struct ecoff_link_hash_entry): New field written.
+       * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
+       (ecoff_link_write_external): use written, not root.written.
+       * genlink.h (struct generic_link_hash_entry): New field written.
+       * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
+       (generic_link_hash_newfunc): Initialize written.
+       (_bfd_generic_link_output_symbols): Use written, not root.written.
+       (_bfd_generic_link_write_global_symbol): Likewise.
+       (_bfd_generic_reloc_link_order): Likewise.
+
+       * libecoff.h (ecoff_data_type): Add linker field.
+       * ecoff.c (ecoff_write_object_contents): Check new tdata linker
+       field, rather than outsymbols being non-NULL, to decide whether to
+       output the symbols and relocs.
+       (ecoff_bfd_final_link): Set new tdata linker field to true.
+
+       * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
+       data to a non-ECOFF file.
+
+       * libbfd-in.h: Add warning that libbfd.h is a generated file.
+       * libbfd.h: Rebuilt.
+
+Sun Jun  5 15:02:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Changes to support ELF strip and objcopy on dynamically linked
+       files.
+       * elfcode.h (elf_fake_sections): Add prototype.
+       (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
+       section, and from an SHT_DYNSYM section, and from the dynamic
+       string table section.
+       (elf_object_p): Set D_PAGED if there is a program header.
+       (elf_make_sections): Remove.
+       (fix_up_strtabs): Remove.
+       (elf_fake_sections): Rewrite.  Now sets sh_entsize.
+       (assign_section_numbers): Rewrite.  Now sets sh_link and sh_info
+       for all sections.
+       (elf_compute_section_file_positions):  Don't call obsolete
+       functions elf_make_sections or fix_up_strtabs.
+       (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
+       (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
+       objects.
+       (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
+       sections.  If an SHT_REL or SHT_RELA section is allocated or uses
+       an unusual symbol table, permit a BFD section to map to it.
+       Permit most SHT_STRTAB sections to have a BFD section mapped to
+       them.
+       (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
+       fields of dynamic sections here; do it in assign_section_numbers.
+       * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
+       flags.
+
+       * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
+       SEC_LOAD is set, rather than checking SEC_ALLOC.
+
+       * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
+
+Fri Jun  3 10:58:02 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_write_object_contents): Don't compute the file header's
+       checksum here.
+       (som_write_headers): Instead do it here.
+
+       * libbfd.h (bfd_realloc): Change last arg to "size_t size".
+
 Thu Jun  2 17:39:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * hosts/sun3.h: Include <stdlib.h>.  Don't declare free, exit or
@@ -449,20 +557,6 @@ Fri May  6 11:48:55 1994  Steve Chamberlain  (sac@cygnus.com)
        * Makefile.in: Build sysdep.h without causing worrying but
        harmless error message.
 
-Fri May  6 13:34:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
-
-       * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
-       handling for latest suggested format.
-       (nlm_swap_auxiliary_headers_out): Likewise.
-       (nlm_compute_section_file_positions): Likewise.
-
-Thu May  5 15:40:47 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
-
-       Patches from Ralph Campbell:
-       * mipsbsd.c (mips_fix_jmp_addr): New function.
-       (mips_fix_hi16_s): Use bfd_is_com_section.
-       (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
-
 Wed May  4 11:09:53 1994  Ian Lance Taylor  (ian@cygnus.com)
 
        Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.