diff --git a/valgrind-3.9.0-anon-typedef.patch b/valgrind-3.9.0-anon-typedef.patch
new file mode 100644
index 0000000..22e9efb
--- /dev/null
+++ b/valgrind-3.9.0-anon-typedef.patch
@@ -0,0 +1,73 @@
+commit 836b51a998fe520728aab7c5e1b156cadaa20c20
+Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Sun Nov 24 17:19:35 2013 +0000
+
+    Bug 327916 - DW_TAG_typedef may have no name
+    
+    We already accepted DW_TAG_typedef without a name for Ada. But g++ for
+    OpenMP can also emit such nameless DW_TAG_typedefs. Just accept them.
+    Also fix up anonymous enum and typedef printing in tytypes.c.
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13718 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c
+index b0a7a92..f64a97b 100644
+--- a/coregrind/m_debuginfo/readdwarf3.c
++++ b/coregrind/m_debuginfo/readdwarf3.c
+@@ -2926,19 +2926,17 @@ static void parse_type_DIE ( /*MOD*/XArray* /* of TyEnt */ tyents,
+                = cook_die_using_form( cc, (UWord)cts.u.val, form );
+          }
+       }
+-      /* Do we have something that looks sane? */
+-      if (/* must have a name */
+-          typeE.Te.TyTyDef.name == NULL
+-          /* However gcc gnat Ada generates minimal typedef
+-             such as the below => accept no name for Ada.
+-             <6><91cc>: DW_TAG_typedef
+-                DW_AT_abstract_ori: <9066>
+-          */
+-          && parser->language != 'A'
+-          /* but the referred-to type can be absent */)
+-         goto bad_DIE;
+-      else
+-         goto acquire_Type;
++      /* Do we have something that looks sane?
++         gcc gnat Ada generates minimal typedef
++         such as the below
++         <6><91cc>: DW_TAG_typedef
++            DW_AT_abstract_ori: <9066>
++         g++ for OMP can generate artificial functions that have
++         parameters that refer to pointers to unnamed typedefs.
++         See https://bugs.kde.org/show_bug.cgi?id=273475
++         So we cannot require a name for a DW_TAG_typedef.
++      */
++      goto acquire_Type;
+    }
+ 
+    if (dtag == DW_TAG_subroutine_type) {
+diff --git a/coregrind/m_debuginfo/tytypes.c b/coregrind/m_debuginfo/tytypes.c
+index 05df456..0fde46b 100644
+--- a/coregrind/m_debuginfo/tytypes.c
++++ b/coregrind/m_debuginfo/tytypes.c
+@@ -265,8 +265,8 @@ void ML_(pp_TyEnt_C_ishly)( XArray* /* of TyEnt */ tyents,
+          VG_(printf)("&&");
+          break;
+       case Te_TyEnum:
+-         if (!ent->Te.TyEnum.name) goto unhandled;
+-         VG_(printf)("enum %s", ent->Te.TyEnum.name);
++         VG_(printf)("enum %s", ent->Te.TyEnum.name ? ent->Te.TyEnum.name
++                                                    : "<anonymous>" );
+          break;
+       case Te_TyStOrUn:
+          VG_(printf)("%s %s",
+@@ -287,8 +287,8 @@ void ML_(pp_TyEnt_C_ishly)( XArray* /* of TyEnt */ tyents,
+          }
+          break;
+       case Te_TyTyDef:
+-         if (!ent->Te.TyTyDef.name) goto unhandled;
+-         VG_(printf)("%s", ent->Te.TyTyDef.name);
++         VG_(printf)("%s", ent->Te.TyTyDef.name ? ent->Te.TyTyDef.name
++                                                : "<anonymous>" );
+          break;
+       case Te_TyFn:
+          VG_(printf)("%s", "<function_type>");
diff --git a/valgrind.spec b/valgrind.spec
index b8ffd16..53bed51 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -38,6 +38,9 @@ Patch7: valgrind-3.9.0-dwz-alt-buildid.patch
 # KDE#327284 - s390x VEX miscompilation of -march=z10 binary
 Patch8: valgrind-3.9.0-s390-risbg.patch
 
+# KDE#327916 - DW_TAG_typedef may have no name
+Patch9: valgrind-3.9.0-anon-typedef.patch
+
 %ifarch x86_64 ppc64
 # Ensure glibc{,-devel} is installed for both multilib arches
 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -134,6 +137,7 @@ Valgrind User Manual for details.
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
 
 %build
 # We need to use the software collection compiler and binutils if available.
@@ -287,6 +291,9 @@ echo ===============END TESTING===============
 %endif
 
 %changelog
+* Fri Nov 22 2013 Mark Wielaard <mjw@redhat.com>
+- Add valgrind-3.9.0-anon-typedef.patch.
+
 * Wed Nov 20 2013 Mark Wielaard <mjw@redhat.com> - 3.9.0-2
 - Add valgrind-3.9.0-dwz-alt-buildid.patch.
 - Add valgrind-3.9.0-s390-risbg.patch.