diff -urN coreutils-8.20-orig/src/tail.c coreutils-8.20/src/tail.c
--- coreutils-8.20-orig/src/tail.c	2012-10-23 23:14:12 +0900
+++ coreutils-8.20/src/tail.c	2012-10-29 18:15:08 +0900
@@ -1840,14 +1840,12 @@
   bool t_count_lines = true;
   bool t_forever = false;
 
-  /* With the obsolete form, there is one option string and at most
-     one file argument.  Watch out for "-" and "--", though.  */
-  if (! (argc == 2
-         || (argc == 3 && ! (argv[2][0] == '-' && argv[2][1]))
-         || (3 <= argc && argc <= 4 && STREQ (argv[2], "--"))))
+  /* With the obsolete form, there is one option string and zero or
+     more file arguments. */
+  if (! (argc >= 2))
     return false;
 
-  obsolete_usage = (posix2_version () < 200112);
+  obsolete_usage = 1;
   p = argv[1];
 
   switch (*p++)
@@ -1868,7 +1866,7 @@
          requires an option-argument.  The obsolete multidigit options
          are supported as a GNU extension even when conforming to
          POSIX 1003.1-2001, so don't complain about them.  */
-      if (!obsolete_usage && !p[p[0] == 'c'])
+      if (!p[p[0] == 'c'])
         return false;
 
       t_from_start = false;
