Alan Modra [Sat, 18 Sep 1999 00:44:47 +0000 (00:44 +0000)]
Support 8 and 16-bit relocs for i386coff. Enable i386 gas testsuite tests
previously disabled for lack of such support. For *-*-linux*libc1 targets,
XFAIL a ld testsuite that fails due to a bug in the dynamic linker prior to
glibc-2.1.
Jeff Law [Fri, 17 Sep 1999 18:00:50 +0000 (18:00 +0000)]
* config/tc-hppa.c (pa_build_unwind_subspace): Do not build
unwinds unless the function is in the text space.
(pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
Jeff Law [Thu, 16 Sep 1999 20:53:09 +0000 (20:53 +0000)]
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Use the same filename extension for the bfd_elf_dt_needed_name call
as we did for finding the library.
Jeff Law [Thu, 16 Sep 1999 16:51:34 +0000 (16:51 +0000)]
* elf-hppa.h (elf_hppa_relocate_section): Allow undefined
symbols when building shared libraries.
(elf_hppa_final_link_relocate): Correct handling of PCREL
relocations against undefined symbols.
Jeff Law [Wed, 15 Sep 1999 11:17:54 +0000 (11:17 +0000)]
* config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare
debug_line.
(md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
(md_assemble): Call dwarf2_where for OBJ_ELF.
(pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
(pa_end_of_source): New function.
* tc-hppa.h (md_end): Define for OBJ_ELF.
Jeff Law [Wed, 15 Sep 1999 08:51:45 +0000 (08:51 +0000)]
* elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
(elf_hppa_final_link_relocate): Consistently create an absolute
address, then subtract out the value of __gp.
Jeff Law [Wed, 15 Sep 1999 08:51:03 +0000 (08:51 +0000)]
* emulparms/elf64hppa.h (OTHER_READWRITE_SECTIONS): No longer combine
the .plt, .dlt, .opd into a single output section. Provide values
for __gp and __hp_load_map.
Ian Lance Taylor [Sun, 12 Sep 1999 17:34:19 +0000 (17:34 +0000)]
* ar.c (full_pathname): New static variable.
(map_over_members): Call normalize on command line parameter.
(usage): Mention P modifier.
(normalize): If full_pathname is true, don't do anything.
(main): Accept P modifier.
* binutils.texi, ar.1: Document P modifier.
Ian Lance Taylor [Sun, 12 Sep 1999 15:27:48 +0000 (15:27 +0000)]
* pe-dll.h: New file.
* pe-dll.c: Include "pe-dll.h". Mark unused arguments as needed
to avoid warnings.
(edata_sz, reloc_sz): Change from int to size_t.
(pe_details_type): Change type of imagebase_reloc from int to
unsigned int.
(pe_detail_list): Fully initialize last entry.
(pe_dll_id_target): Change parameter to const.
(pe_dll_generate_def_file): Likewise.
(pe_dll_generate_implib): Likewise.
(pe_implied_import_dll): Likewise. Change dll_name to const.
* emultempl/pe.em: Include "pe-dll.h". Remove declarations now in
pe-dll.h.
(init): Fully initialize __dll__ entry.
(gld_${EMULATION_NAME}_after_open): Remove unused variables
sequence, elt, and i.
* deffile.h: Add preprocessor guard.
* deffilep.y (def_debug): Remove.
* Makefile.am: Rebuild dependencies.
(HFILES): Add pe-dll.h.
Ian Lance Taylor [Sun, 12 Sep 1999 14:52:33 +0000 (14:52 +0000)]
1999-09-12 Donn Terry <donn@interix.com>
* emultempl/pe.em (PE_DEF_SECTION_ALIGNMENT): If
OVERRIDE_SECTION_ALIGNMENT is defined, change to that.
(gld_${EMULATION_NAME}_before_parse): Use EXECUTABLE_NAME if it is
defined, rather than a.exe.
(init): Define __subsystem__ as ${SUBSYSTEM}.
(set_pe_subsystem): Add ${INITIAL_SYMBOL_CHAR} before entry symbol
name.
Ian Lance Taylor [Sun, 12 Sep 1999 03:44:42 +0000 (03:44 +0000)]
* write.c (write_relocs): Call SET_SECTION_RELOCS if it is
defined.
* config/obj-coff.h (SET_SECTION_RELOCS): Define.
* doc/internals.texi (Object format backend): Document
SET_SECTION_RELOCS.
Ian Lance Taylor [Sun, 12 Sep 1999 02:55:58 +0000 (02:55 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
symbols which do not have a constant value, or tags with
non-tags. Remove the symbol from the list before adding it at the
end.
Ian Lance Taylor [Sun, 12 Sep 1999 02:49:28 +0000 (02:49 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
C_FCN symbol differently if TE_PE.
(obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
appears in the pseudo-op, rather coff_line_base which is only set
for a .bf symbol.
Ian Lance Taylor [Sun, 12 Sep 1999 02:12:38 +0000 (02:12 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* config/atof-ieee.c (atof_ieee): Change what_kind to int.
* config/atof-vax.c (flonum_gen2vax): Change format_letter to
int.
(md_atof): Return NULL rather than 0.
* config/tc-i386.c (md_atof): Change type to int.
Ian Lance Taylor [Sun, 12 Sep 1999 00:45:26 +0000 (00:45 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* libpei.h (_bfd_pei_final_link_postscript): Declare.
(coff_final_link_postscript): Define.
* peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
directory entries here.
(_bfd_pei_final_link_postscript): New function.
Ian Lance Taylor [Sun, 12 Sep 1999 00:30:27 +0000 (00:30 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
get the overflow of the s_nlnno field from the s_nreloc field.
* peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
the s_nlnno overflow of the .text section into the s_nreloc
field.
Ian Lance Taylor [Sat, 11 Sep 1999 23:46:09 +0000 (23:46 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* config.bfd (i[3456]86-*-interix*): Set targ_cflags to
-DSTRICT_PE_FORMAT.
* coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
than __INTERIX.
(coff_classify_symbol): Re-revert 1999-08-08 patch if
STRICT_PE_FORMAT.