diff -ur orig/binutils-2.13.2.1/bfd/config.bfd binutils-2.13.2.1/bfd/config.bfd
--- orig/binutils-2.13.2.1/bfd/config.bfd	Thu Nov  7 16:57:50 2002
+++ binutils-2.13.2.1/bfd/config.bfd	Sat Jan 11 12:55:38 2003
@@ -1116,6 +1116,11 @@
     targ_defvec=bfd_elf32_v850_vec
     ;;
 
+  vax-*-linux-gnu*)
+    targ_defvec=bfd_elf32_vax_vec
+#    targ_selvecs=vaxlinux_vec
+    ;;
+
   vax-*-netbsdelf*)
     targ_defvec=bfd_elf32_vax_vec
     targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
diff -ur orig/binutils-2.13.2.1/bfd/configure.in binutils-2.13.2.1/bfd/configure.in
--- orig/binutils-2.13.2.1/bfd/configure.in	Thu Jan  2 01:23:03 2003
+++ binutils-2.13.2.1/bfd/configure.in	Sat Jan 11 12:50:15 2003
@@ -365,6 +365,10 @@
 	COREFILE=trad-core.lo
 	TRAD_HEADER='"hosts/tahoe.h"'
 	;;
+  vax-*-linux-gnu*)     
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/vaxlinux.h"'
+	;;
   vax-*-netbsd*)	COREFILE=netbsd-core.lo ;;
   vax-*-ultrix2*)
 	COREFILE=trad-core.lo
diff -ur orig/binutils-2.13.2.1/bfd/elf32-vax.c binutils-2.13.2.1/bfd/elf32-vax.c
--- orig/binutils-2.13.2.1/bfd/elf32-vax.c	Thu Oct 24 22:10:20 2002
+++ binutils-2.13.2.1/bfd/elf32-vax.c	Sun Jan 12 22:03:59 2003
@@ -1701,6 +1701,10 @@
 	case R_VAX_8:
 	case R_VAX_16:
 	case R_VAX_32:
+	  if (h != NULL
+	      && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
+	    break;
+
 	  if (info->shared
 	      && r_symndx != 0
 	      && (input_section->flags & SEC_ALLOC) != 0
diff -ur orig/binutils-2.13.2.1/gas/config/tc-vax.c binutils-2.13.2.1/gas/config/tc-vax.c
--- orig/binutils-2.13.2.1/gas/config/tc-vax.c	Sun Jul 14 02:14:34 2002
+++ binutils-2.13.2.1/gas/config/tc-vax.c	Sun Jan 12 16:05:57 2003
@@ -1251,7 +1251,7 @@
 	   * a limitation in the NetBSD linker.
 	   */
 	  if (GOT_symbol == NULL)
-	    GOT_symbol = symbol_find (GLOBAL_OFFSET_TABLE_NAME);
+	    GOT_symbol = symbol_find_or_make (GLOBAL_OFFSET_TABLE_NAME);
 	  if (PLT_symbol == NULL)
 	    PLT_symbol = symbol_find (PROCEDURE_LINKAGE_TABLE_NAME);
 	  if ((GOT_symbol == NULL || fragP->fr_symbol != GOT_symbol)
@@ -2114,12 +2114,21 @@
   retval = -1;
 
 #ifdef OBJ_ELF
+#if 0
   if (c1 != '%')	/* register prefixes are mandatory for ELF */
     return retval;
   c1 = c2;
   c2 = c3;
   c3 = c4;
 #endif
+  /* hacked for compat */
+  if (c1=='%')
+    {
+      c1=c2;
+      c2=c3;
+      c3=c4;
+    }
+#endif
 #ifdef OBJ_VMS
   if (c4 != 0)		/* register prefixes are not allowed under VMS */
     return retval;
@@ -3257,8 +3266,8 @@
 
 #ifdef OBJ_VMS
 const char *md_shortopts = "d:STt:V+1h:Hv::";
-#elif defined(OBJ_ELC)
-const char *md_shortopts = "d:STt:VkK";
+#elif defined(OBJ_ELF)
+const char *md_shortopts = "d:STt:VkKQ:";
 #else
 const char *md_shortopts = "d:STt:V";
 #endif
@@ -3330,6 +3339,12 @@
     case 'k':
       flag_want_pic = 1;
       break;			/* -pic, Position Independent Code */
+
+
+      /* -Qy, -Qn: SVR4 arguments controlling whether a .comment section
+	 should be emitted or not.  FIXME: Not implemented.  */
+    case 'Q':
+      break;
 #endif
 
     default:
diff -ur orig/binutils-2.13.2.1/gas/configure binutils-2.13.2.1/gas/configure
--- orig/binutils-2.13.2.1/gas/configure	Wed Oct 30 17:07:37 2002
+++ binutils-2.13.2.1/gas/configure	Sat Jan 11 13:02:27 2003
@@ -2635,6 +2635,7 @@
       v850e-*-*)	    fmt=elf bfd_gas=yes ;;
       v850ea-*-*)	    fmt=elf bfd_gas=yes ;;
 
+      vax-*-linux-gnu*)     fmt=elf em=linux bfd_gas=yes ;;
       vax-*-netbsdelf*)     fmt=elf em=nbsd bfd_gas=yes ;;
       vax-*-netbsdaout* | vax-*-netbsd*)
 			    fmt=aout em=nbsd ;;
diff -ur orig/binutils-2.13.2.1/gas/configure.in binutils-2.13.2.1/gas/configure.in
--- orig/binutils-2.13.2.1/gas/configure.in	Wed Oct 30 17:07:32 2002
+++ binutils-2.13.2.1/gas/configure.in	Sat Jan 11 13:00:02 2003
@@ -480,6 +480,7 @@
       v850e-*-*)	    fmt=elf bfd_gas=yes ;;
       v850ea-*-*)	    fmt=elf bfd_gas=yes ;;
 
+      vax-*-linux-gnu*)     fmt=elf em=linux bfd_gas=yes;;
       vax-*-netbsdelf*)     fmt=elf em=nbsd bfd_gas=yes ;;
       vax-*-netbsdaout* | vax-*-netbsd*)
 			    fmt=aout em=nbsd ;;
diff -ur orig/binutils-2.13.2.1/ld/configure.tgt binutils-2.13.2.1/ld/configure.tgt
--- orig/binutils-2.13.2.1/ld/configure.tgt	Mon Oct 28 15:58:12 2002
+++ binutils-2.13.2.1/ld/configure.tgt	Sat Jan 11 12:57:51 2003
@@ -352,6 +352,7 @@
 hppa*-*-openbsd*)	targ_emul=hppaobsd ;;
 hppa*-*-rtems*)		targ_emul=hppaelf ;;
 vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
+vax-*-linux-gnu*)       targ_emul=elf32vax ;;
 vax-*-netbsdelf*)	targ_emul=elf32vax
 			targ_extra_emuls=vaxnbsd ;;
 vax-*-netbsdaout* | vax-*-netbsd*)
