Index: Makefile.in
--- Makefile.in.orig	2009-03-05 08:05:27 +0100
+++ Makefile.in	2009-03-05 23:13:43 +0100
@@ -659,7 +659,7 @@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
 EXTRA_DIST = ChangeLog.1 PORTS
-SUBDIRS = doc lib rmt src scripts po tests
+SUBDIRS = doc lib src
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
Index: lib/argp-help.c
--- lib/argp-help.c.orig	2009-02-01 10:24:40 +0100
+++ lib/argp-help.c	2009-03-05 23:13:43 +0100
@@ -569,8 +569,7 @@
   return val;
 }
 
-static inline int
-__attribute__ ((always_inline))
+static int
 hol_entry_long_iterate (const struct hol_entry *entry,
 			int (*func)(const struct argp_option *opt,
 				    const struct argp_option *real,
Index: lib/strerror.c
--- lib/strerror.c.orig	2009-01-23 19:02:44 +0100
+++ lib/strerror.c	2009-03-05 23:13:43 +0100
@@ -23,6 +23,7 @@
 
 # include <errno.h>
 # include <stdio.h>
+# include <limits.h>
 
 # if GNULIB_defined_ESOCK /* native Windows platforms */
 #  if HAVE_WINSOCK2_H
Index: src/compare.c
--- src/compare.c.orig	2008-02-20 15:16:30 +0100
+++ src/compare.c	2009-03-05 23:13:43 +0100
@@ -278,7 +278,7 @@
   size_t len = strlen (current_stat_info.link_name);
   char *linkbuf = alloca (len + 1);
 
-  int status = readlink (current_stat_info.file_name, linkbuf, len + 1);
+  int status = readlink (current_stat_info.file_name, linkbuf, len);
 
   if (status < 0)
     {
Index: src/create.c
--- src/create.c.orig	2008-10-30 11:58:04 +0100
+++ src/create.c	2009-03-05 23:13:43 +0100
@@ -1697,7 +1697,7 @@
       if (linklen != st->stat.st_size || linklen + 1 == 0)
 	xalloc_die ();
       buffer = (char *) alloca (linklen + 1);
-      size = readlink (p, buffer, linklen + 1);
+      size = readlink (p, buffer, linklen);
       if (size < 0)
 	{
 	  readlink_diag (p);
Index: src/incremen.c
--- src/incremen.c.orig	2008-12-30 00:18:00 +0100
+++ src/incremen.c	2009-03-05 23:13:43 +0100
@@ -671,6 +671,7 @@
            children = CHANGED_CHILDREN;
 	 but changed to: */
       free (name_buffer);
+      if (dirp)
       free (dirp);
       return NULL;
     }
Index: src/tar.c
--- src/tar.c.orig	2009-03-05 08:04:13 +0100
+++ src/tar.c	2009-03-05 23:13:43 +0100
@@ -20,6 +20,7 @@
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #include <system.h>
+#include <locale.h>
 
 #include <fnmatch.h>
 #include <argp.h>
Index: src/utf8.c
--- src/utf8.c.orig	2007-10-29 18:53:07 +0100
+++ src/utf8.c	2009-03-05 23:13:43 +0100
@@ -22,6 +22,9 @@
 #include "common.h"
 #ifdef HAVE_ICONV_H
 # include <iconv.h>
+#else
+# define iconv_t void *
+# define ICONV_CONST const
 #endif
 
 #ifndef ICONV_CONST
Index: src/xheader.c
--- src/xheader.c.orig	2008-11-30 13:30:54 +0100
+++ src/xheader.c	2009-03-05 23:13:43 +0100
@@ -25,6 +25,10 @@
 
 #include "common.h"
 
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
+#endif
+
 static bool xheader_protected_pattern_p (char const *pattern);
 static bool xheader_protected_keyword_p (char const *keyword);
 static void xheader_set_single_keyword (char *) __attribute__ ((noreturn));
