diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog
index ca645036..2b5d6e6b 100644
--- a/avrdude/ChangeLog
+++ b/avrdude/ChangeLog
@@ -1,3 +1,10 @@
+2009-02-23  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	bug #22204: Solaris10/11 Undefiniertes Symbol gethostbyname socket
+	connect
+	* configure.ac: Add checks for gethostent() and socket().
+	While being here, remove some old cruft left from ancient days.
+
 2009-02-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* lexer.l: Bump the %p size so AT&T lex will continue to work.
diff --git a/avrdude/configure.ac b/avrdude/configure.ac
index a67f1c7d..515e53a5 100644
--- a/avrdude/configure.ac
+++ b/avrdude/configure.ac
@@ -35,16 +35,18 @@ AM_INIT_AUTOMAKE
 AM_CONFIG_HEADER(ac_cfg.h)
 
 # Checks for programs.
-AM_PROG_CC_C_O
+AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_YACC
-AM_PROG_LEX
+AC_PROG_LEX
 AC_PROG_RANLIB
 
 # Checks for libraries.
 AC_CHECK_LIB([termcap], [tputs])
 AC_CHECK_LIB([ncurses], [tputs])
 AC_CHECK_LIB([readline], [readline])
+AC_SEARCH_LIBS([gethostent], [nsl])
+AC_SEARCH_LIBS([setsockopt], [socket])
 AH_TEMPLATE([HAVE_LIBUSB],
             [Define if USB support is enabled via libusb])
 AC_CHECK_LIB([usb], [usb_get_string_simple], [have_libusb=yes])
@@ -62,7 +64,6 @@ fi
 AC_SUBST(LIBUSB, $LIBUSB)
 
 # Checks for header files.
-AC_HEADER_STDC
 AC_CHECK_HEADERS([limits.h stdlib.h string.h])
 AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/time.h termios.h unistd.h])
 AC_CHECK_HEADERS([ddk/hidsdi.h],,,[#include <windows.h>
@@ -73,8 +74,6 @@ AC_C_CONST
 AC_HEADER_TIME
 
 # Checks for library functions.
-AC_PROG_GCC_TRADITIONAL
-AC_FUNC_MALLOC
 AC_CHECK_FUNCS([memset select strcasecmp strdup strerror strncasecmp strtol strtoul gettimeofday])
 
 AC_MSG_CHECKING([for a Win32 HID libray])