Thu Aug 8 12:21:56 1996 Klaus Kaempf <kkaempf@progis.de>
[binutils-gdb.git] / bfd / ChangeLog
index dca04a78654d99832bb1781f1cc4705d20566824..0fd25dd91c920e9da8a8f4555a70849969b2071d 100644 (file)
@@ -1,3 +1,450 @@
+Thu Aug  8 12:21:56 1996  Klaus Kaempf  <kkaempf@progis.de>
+
+       * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
+       (evax_initialize): Remove evax_reloc_table.
+       (evax_close_and_cleanup): Ditto.
+       (reloc_nil): Ditto.
+       (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
+       entries.
+       (evax_bfd_reloc_type_lookup): Ditto.
+       * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
+       cooked_size == raw_size.
+       * evax-emh.c (_bfd_evax_register_filename): Remove.
+       * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
+       * evax-misc.c (add_new_contents): Malloc section at full size.
+       (_bfd_save_evax_section): Memcpy section contents directly.
+       * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
+       (evax_reloc_table): Remove.
+
+       * hosts/alphavms.h (O_ACCMODE): Define if needed.
+
+       * makefile.vms: Add better support for DEC C compilation
+       Add evax.h dependencies
+
+       * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
+       (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
+       (BFD_RELOC_ALPHA_BASEREG): Remove.
+       * bfd-in2.h, libbfd.h: Rebuild.
+
+Thu Aug  8 08:17:32 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+       * archive.c (bsd_write_armap):  Ifdef around calls to getuid and
+       getgid if _WIN32 is defined.
+       * opncls.c (bfd_fdopenr):  Remove unnecessary WINGDB ifdef.
+
+Wed Aug  7 23:19:00 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+       * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
+       Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
+       include file.
+       * libbfd.c:  Create dummy getpagesize() macro if HAVE_GETPAGESIZE
+       isn't defined.
+
+Wed Aug  7 14:11:44 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+       * configure.in: Call BFD_NEEDED_DECLARATION on strstr and
+       realloc.
+       * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
+       (NEED_DECLARATION_REALLOC): New macro.
+       * configure, config.in: Rebuild.
+       * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
+       (realloc): Declare if NEED_DECLARATION_REALLOC.
+
+       * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
+       <strings.h> if they exist.
+
+       * ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
+
+Wed Aug  7 12:12:03 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * cpu-i386.c (i8086_arch): Architecture info for the i8086.
+
+       Based on patches from Eric Valette <valette@crf.canon.fr>:
+       * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
+       LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
+       (elf_howto_table): Add entries for new relocs.
+       (elf_i386_reloc_type_lookup): Handle new relocs.
+       (elf_i386_info_to_howto): Just call abort.
+       (elf_i386_info_to_howto_rel): Check that the reloc type is valid.
+       (elf_i386_relocate_section): Likewise.
+
+start-sanitize-d10v
+Tue Aug  6 12:54:56 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+       * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
+
+end-sanitize-d10v      
+Mon Aug  5 13:42:41 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
+       only get the LMA from the phdr if they are in the same part of the
+       file.
+
+       * elf.c (map_sections_to_segments): Rewrite tests for starting a
+       new segment to make them more comprehensible.  If the relationship
+       between the LMA and the VMA changed, start a new segment.  Don't
+       check dynsec when deciding whether to start a new segment for a
+       writeable section; -N will now handle this.
+
+Thu Aug  1 22:43:08 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * libhppa.h: Remove "esel" changes.  Not the right approach.
+       * som.c: Corresponding changes.
+       (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
+       which don't have a SOM symbol type associated with them.
+       Reverses a 1994 change.
+
+Wed Jul 31 15:50:55 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Make ld -N more reasonable for ELF:
+       * elf.c (map_sections_to_segments): If D_PAGED is not set, set
+       phdr_in_section to false, and always use a single load segment.
+       (elf_sort_sections): Sort sections by LMA after VMA.
+       (assign_file_positions_for_segments): If D_PAGED is not set, don't
+       align to maxpagesize.
+       (assign_file_positions_except_relocs): Likewise.
+       * elfcode.h (elf_object_p): If a section is loaded but not page
+       aligned, clear D_PAGED.
+
+Wed Jul 31 15:00:12 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+       * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
+       Added, for internal use by the ARM gas.
+       * libbfd.h: Rebuilt
+       * bfd-in2.h: Rebuilt
+
+Tue Jul 30 14:14:57 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * libhppa.h (R_HPPA_ESEL): New field selector.
+       (e_esel): Similarly.
+       * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
+       then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
+       (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
+
+Tue Jul 30 13:31:27 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
+       archive search before looking for stripped dynamic objects.
+
+Fri Jul 26 17:51:39 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
+       symbol a warning rather than an error.
+
+Wed Jul 24 12:02:53 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Track the virtual
+       memory position separately from the file position, and use it to
+       compute the alignment adjustment.
+
+start-sanitize-d10v
+Tue Jul 23 10:43:31 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+       * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
+       and fixed mask on R_D10V_10_PCREL_L.
+
+end-sanitize-d10v      
+Mon Jul 22 15:30:30 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf64-mips.c: Include "aout/ar.h".
+       (mips_elf64_slurp_armap): New static function.
+       (mips_elf64_write_armap): New static function.
+       (bfd_elf64_archive_*): Define.
+       * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
+       Use instead of bfd_generic_archive_p.
+       (bfd_elfNN_write_archive_contents): Define if not defined.  Use
+       instead of _bfd_write_archive_contents.
+       (bfd_elfNN_mkdarchive): Define if not defined.  Use instead of
+       _bfd_generic_mkarchive.
+       (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
+       bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
+       _bfd_archive_coff.
+       (TARGET_LITTLE_SYM): Likewise.
+       * archive.c (bfd_slurp_armap): Check for and reject an archive map
+       name of /SYM64/.
+       * Makefile.in: Rebuild dependencies.
+
+       * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
+       SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
+       SHT_MIPS_EVENTS sections.
+       (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
+       SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
+       sections.
+       (_bfd_mips_elf_fake_sections): Likewise.
+
+       * libecoff.h (ecoff_data_type): Add rdata_in_text field.
+       * ecoff.c (ecoff_compute_section_file_positions): Copy
+       rdata_in_text from backend info to tdata.  Clear it if any data
+       section comes before .rdata.
+       (_bfd_ecoff_write_object_contents): Use rdata_in_text field in
+       tdata rather than backend info.
+
+Fri Jul 19 18:15:51 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Fix test for whether a compiler has a 64 bit
+       type.  From Jim Wilson <wilson@cygnus.com>.
+
+Thu Jul 18 15:39:10 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.host (mips-sgi-irix6*): New host.
+
+       * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
+       (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
+       BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT.  Add bfd-in2.h:bfd-in2.h
+       to AC_OUTPUT call.
+       * configure: Rebuild.
+       * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
+       (BFD_HOST_64_BIT): Define conditionally.
+       (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
+       (bfd_vma): Typedef as BFD_HOST_U_64_BIT.
+       (symvalue, bfd_size_type): Likewise.
+       * bfd-in2.h: Rebuild.
+       * Makefile.in (do_clean): Remove bfd-tmp.h.
+       (do_distclean): Remove bfd-in3.h.
+       (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
+       (bfd-in3.h): New target.
+
+       * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec.  From
+       Andrew Gierth <ANDREWG@microlise.co.uk>.
+
+       * configure.host: Set INSTALL_SHLIB.
+       * configure.in: Call AC_SUBST (INSTALL_SHLIB).
+       * configure: Rebuild.
+       * Makefile.in (install): Use @INSTALL_SHLIB@.
+
+       * config.bfd (mips*-*-irix6*): New target.
+       * configure.host: Handle Irix 6 shared library like Irix 5.
+
+       * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
+       symbol for a magic name.
+       (xcoff_link_input_bfd): Don't change the reloc symbol for an
+       XMC_TD symbol.
+       (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
+       XMC_TD symbol.
+
+Thu Jul 18 11:36:31 1996  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mpw-config.in: Add ELF support to mips config, create the
+       elf32-target.h file in the object dir.
+       * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
+
+Wed Jul 17 18:02:32 1996  Kim Knuttila  <krk@cygnus.com>
+
+       * coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
+       Also removed most abort calls, in favor of using bfd reporting.
+
+start-sanitize-d10v
+Wed Jul 17 14:51:52 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+       * Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
+       (BFD32_BACKENDS) Add elf32-d10v.o.
+       * archures.c: Add bfd_d10v_arch.
+       * bfd-in2.h: Add bfd_d10v_arch.
+       * config.bfd (d10v-*-*): New target.
+       * configure: (bfd_elf32_d10v_vec) New vector.
+       * configure.in: (bfd_elf32_d10v_vec) New vector.
+       * cpu-d10v.c: New file.
+       * elf.c (prep_headers): Added case bfd_arch_d10v.
+       * elf32-d10v.c: New file.
+       * libbfd.h: Rebuild.
+       * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
+       BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
+       * targets.c (bfd_elf32_d10v_vec): New vector.
+end-sanitize-d10v
+       
+Wed Jul 17 10:58:55 1996  Kim Knuttila  <krk@cygnus.com>
+
+       * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
+
+Tue Jul 16 23:49:02 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+       * archures.c bfd-in2.h:  Add bfd_mach_i386_i386 and
+       bfd_mach_i386_i8086 machine types.
+
+Wed Jul 10 12:42:56 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
+       and _FINI sections.
+
+Wed Jul 10 11:18:21 1996  Richard Henderson  <rth@tamu.edu>
+
+       * coffcode.h (coff_set_section_contents): A/UX does not require
+       special handling of the _LIB section.
+
+Tue Jul  9 15:52:20 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
+       value for R_RELBYTE.
+
+       * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
+       array if one was allocated.
+
+Tue Jul  9 12:21:54 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
+       * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
+       use_rld_obj_head and rld_value.
+       (mips_elf_link_hash_table_create): Initialize new fields.
+       (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
+       dynamic.
+       (mips_elf_create_dynamic_sections): Create .rld_map section.  If
+       __rld_obj_head symbol not seen, create an __rld_map symbol.
+       (mips_elf_size_dynamic_sections): Make space in .rld_map section.
+       Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
+       (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
+       __rld_obj_head symbol.
+       (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
+
+Mon Jul  8 16:18:03 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
+
+       * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
+       ppc_elf_addr16_ha_reloc.
+       (ppc_elf_addr16_ha_reloc): New static function.
+
+       * coff-mips.c (struct mips_hi): Define.
+       (mips_refhi_list): New static variable.
+       (mips_refhi_addr, mips_refhi_addend): Remove.
+       (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
+       (mips_reflo_reloc): Process mips_refhi_list.
+       (mips_relhi_list): New static variable.
+       (mips_relhi_addr, mips_relhi_addend): Remove.
+       (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
+       (mips_rello_reloc): Process mips_relhi_list.
+       (mips_relocate_section): Permit an arbitrary number of REFHI or
+       RELHI relocs before the associated REFLO or RELLO reloc.
+
+Fri Jul  5 19:27:49 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aout-target.h (MY(callback)): Set reloc_count fields.
+
+Thu Jul  4 12:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
+       sections unless this is a SunOS link.
+
+       * VERSION: Set to 2.7.1.
+
+       * Released binutils 2.7.
+
+Wed Jul  3 14:59:47 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * i386aout.c: Include "aout/aout64.h".
+       (i386aout_write_object_contents): New static function.
+       (MY_write_object_contents): Define.
+
+       * netbsd.h (MY(write_object_contents)): Make sure that
+       adjust_sizes_and_vmas is called before fiddling with the magic
+       number.
+
+Tue Jul  2 23:30:39 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
+
+Sun Jun 30 13:34:33 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libbfd-in.h (itos, stoi): Don't define.
+       * libbfd.h: Rebuild.
+       * i386lynx.c (KEEPIT): Define as udata.i.
+       (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
+       (NAME(lynx,swap_ext_reloc_out)): Likewise.
+       * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
+       flags.  Don't use stoi.
+
+       * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
+
+       * elf.c (map_sections_to_segments): Don't start a new segment for
+       a writable section if it's on the same page as the previous
+       segment.  Reset the writable variable for a readonly section.
+
+Sat Jun 29 16:18:51 1996  Kim Knuttila  <krk@cygnus.com>
+
+       * peicode.h (coff_swap_aouthdr_in): Missing initializations of
+       first_thunk_address, thunk_size, and import_table_size.
+       * peicode.h: Improved some diagnostics regarding edata sections.
+
+       * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
+       on IMGLUE relocs.
+       (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
+       (TARGET_LITTLE_SYM): Added missing D_PAGED.
+
+Fri Jun 28 13:48:45 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
+       with XCOFF_DEF_DYNAMIC set is really defined.
+       (xcoff_link_check_dynamic_ar_symbols): Likewise.
+       (xcoff_link_add_symbols): Only create special sections if using an
+       XCOFF hash table.
+
+       * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
+       aixcoff-rs6000.
+       (bfd_install_relocation): Likewise.
+
+Fri Jun 28 11:17:00 1996  Richard Henderson  <rth@tamu.edu>
+
+       * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
+       field.
+       (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
+       (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
+       (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
+       (elf64_alpha_link_hash_newfunc): Initialize flags field.
+       (elf64_alpha_check_relocs): Record types of LITUSE entries that
+       are found for LITERAL relocs.
+       (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
+       taken, we cannot generate a .plt entry for the symbol.
+
+Thu Jun 27 11:24:29 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Add AC_ISC_POSIX, and check for setitimer and
+       sysconf functions (for gprof).
+       * configure, config.in: Rebuild.
+
+Wed Jun 26 16:29:02 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
+       an archive if it has a map.  If the object file has the wrong
+       xvec, reject it.
+
+       * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
+       BRADDR, SREL16, SREL32, or SREL64 reloc against an external
+       symbol.
+       (alpha_relocate_section): Likewise.
+
+       * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
+       (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
+       (coff_swap_sym_out): Use SYMESZ, not sizeof.
+       (coff_swap_aux_out): Use AUXESZ, not sizeof.
+       (coff_swap_lineno_out): Use LINESZ, not sizeof.
+       (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
+       (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
+       * peicode.h: Corresponding changes.
+
+Tue Jun 25 15:28:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elflink.h (elf_create_pointer_linker_section): Comment out code
+       dealing with making GOT pointers negative of the GOT symbol for
+       now.
+
+Tue Jun 25 11:41:24 1996  Richard Henderson  <rth@tamu.edu>
+
+       * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
+       increment the .rela.plt size until after we're done creating the
+       .plt entry.
+       (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
+       .rela.plt offset directly rather than calculating it.
+
+Mon Jun 24 17:15:10 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
+        * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir): 
+       Use autoconf-set values.
+        * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir, 
+       includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set 
+       values.
+        (docdir): Deleted.
+        * configure.in (AC_PREREQ): autoconf v2.5 or higher.
+        * configure: Rebuilt.
 Mon Jun 24 22:50:35 1996  Jeffrey A Law  (law@cygnus.com)
 
        * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
@@ -81,7 +528,6 @@ Tue Jun 18 15:17:36 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
        * coff-h8300.c: Remove #if 0 code.
        (compatable): Don't allow mixing/matching of different architectures.
        
-start-sanitize-h8s
        * archures.c (bfd_mach_h8300s): Add.
        * bfd-in2.h: Rebuilt.
        * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
@@ -94,7 +540,6 @@ start-sanitize-h8s
        * cpu-h8300.c (h8300_scan): Likewise.
        Add H8/S to bfd_h8300_arch list.
 
-end-sanitize-h8s
 Tue Jun 18 14:42:58 1996  Klaus Kaempf  <kkaempf@progis.de>
 
        Added support for Alpha OpenVMS: