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.
Ian Lance Taylor [Sat, 11 Sep 1999 23:37:28 +0000 (23:37 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* libpei.h: New file, broken out of peicode.h.
* peigen.c: New file, broken out of peicode.h.
* peicode.h: A bunch of code moved out to libpei.h and peigen.c.
* configure.in: Add peigen.lo to list of files required for each
PE target.
* Makefile.am: Rebuild dependencies.
(BFD32_BACKENDS): Add peigen.lo.
(BFD32_BACKENDS_CFILES): Add peigen.c.
(SOURCE_HFILES): Add libpei.h.
* configure, Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 11 Sep 1999 22:52:20 +0000 (22:52 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* peicode.h (coff_swap_scnhdr_in): Don't check for a special
section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
instead. Don't clear the s_paddr field for an uninitialized data
section.
Ian Lance Taylor [Sat, 11 Sep 1999 22:33:45 +0000 (22:33 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
(coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
there is no SEC_DEBUGGING section.
* peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
IMAGE_FILE_DEBUG_STRIPPED.
Ian Lance Taylor [Sat, 11 Sep 1999 22:04:16 +0000 (22:04 +0000)]
1999-09-11 Donn Terry <donn@interix.com>
* cofflink.c (_bfd_coff_link_input_bfd): When writing out a
symbol, switch on the class when determining whether to modify the
value. For PE, don't modify the value of a C_FCN symbol not named
.bf.
Jeff Law [Fri, 10 Sep 1999 14:05:36 +0000 (14:05 +0000)]
* elf-hppa.h (elf_hppa_final_link_relocate): Get the right
value for the stub address in a call through a stub.
Install the value for a local symbol directly into the DLT
instead of generating a reloc. Correctly handle FPTR64 relocs.
Jeff Law [Fri, 10 Sep 1999 06:30:37 +0000 (06:30 +0000)]
* emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
unwinders so that they are closer to the text section.
(OTHER_BSS_SECTIONS): Define.
(EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
(INIT_START, INIT_END): Define.
(FINI_START, FINI_END): Define.
* scripttempl/elf.sc: Add support for INIT_START, INIT_END,
FINI_START, FINI_END and OTHER_BSS_SECTIONS.