diff --git a/ChangeLog b/ChangeLog
index 2bcad6e4..d4c8d664 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+1998-12-30  Thomas Tanner  <tanner@gmx.de>
+
+	* NEWS: updated
+	* THANKS: added Todd Vierling <tv@pobox.com>
+	
+1998-12-30  Todd Vierling  <tv@pobox.com>
+
+	* ltconfig.in: improved shared object handling on both
+	  a.out and ELF platforms for NetBSD
+
 1998-12-29  Thomas Tanner  <tanner@gmx.de>
 
 	* ltconfig.in: do not rely on a leading space when concatenating
diff --git a/NEWS b/NEWS
index 38b40861..d69e4da0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
 NEWS - list of user-visible changes between releases of GNU Libtool
 
 New in 1.2e: CVS version:
+* Improved support for Win32, SysV 4.3 and NetBSD
+* Various bugfixes
 
 New in 1.2c: CVS version; 1.2d: 1998-12-16, Libtool team:
 * libtool will correctly link already-installed libraries into programs.
diff --git a/THANKS b/THANKS
index 8362423b..d90d7f81 100644
--- a/THANKS
+++ b/THANKS
@@ -28,6 +28,7 @@ Mimi Burbank <mimi@scri.fsu.edu>
 Oliver Guntermann <og@informatik.uni-hannover.de>
 Stephan Kulow <coolo@kde.org>
 Thomas Esser <te@informatik.uni-hannover.de>
+Todd Vierling <tv@pobox.com>
 Tom Tromey <tromey@cygnus.com>
 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
 Volker Kuhlmann <kuhlmav@elec.canterbury.ac.nz>
diff --git a/ltconfig.in b/ltconfig.in
index 7a10a197..01af360c 100755
--- a/ltconfig.in
+++ b/ltconfig.in
@@ -1237,9 +1237,12 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
     ;;
 
   netbsd*)
-    # Tested with NetBSD 1.2 ld
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs'
-    hardcode_libdir_flag_spec='-R$libdir'
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs'  # a.out
+    else
+      archive_cmds='$LD -shared -o $lib $libobjs $deplibs'      # ELF
+    fi
+    hardcode_libdir_flag_spec='${wl}-R$libdir'
     hardcode_direct=yes
     hardcode_shlibpath_var=no
     ;;
@@ -1679,7 +1682,21 @@ linux-gnu*)
   fi
   ;;
 
-netbsd* | openbsd*)
+netbsd*)
+  version_type=sunos
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}.so.$versuffix'
+    finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so'
+    soname_spec='${libname}${release}.so.$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+openbsd*)
   version_type=sunos
   library_names_spec='${libname}${release}.so$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'