diff --git a/README.chromium b/README.chromium
index 5492e9d..cbd019b 100644
--- a/README.chromium
+++ b/README.chromium
@@ -284,7 +284,7 @@
 22. Fix time zone handling and compilation on iOS.
     - patches/ios_timezone.patch
     - upstream bugs : http://bugs.icu-project.org/trac/ticket/9051
-    -                 http://bugs.icu-project.org/trac/ticket/8661
+                      http://bugs.icu-project.org/trac/ticket/8661
 
 23. Fix a buffer overflow in utext
     - patches/utext.patch
@@ -303,3 +303,14 @@
 
 27. Change export of U_ICUDATA_ENTRY_POINT from U_IMPORT to U_EXPORT.
     - patches/declspec.patch
+
+28. Add support for QNX Neutrino.
+    -  patches/platform.qnx.patch:
+       Add source/common/unicode/pqnx.h.
+    -  patches/si_value.undef.patch:
+       Work around an all-lowercase macro defined in <signal.h>.
+       Upstream took a different approach:
+       http://bugs.icu-project.org/trac/ticket/9935
+    -  patches/xopen_source.patch:
+       Set _XOPEN_SOURCE to 600 as in the upstream changeset:
+       http://bugs.icu-project.org/trac/changeset/30418
diff --git a/icu.gyp b/icu.gyp
index 883defd..c2ce2fe 100644
--- a/icu.gyp
+++ b/icu.gyp
@@ -29,7 +29,7 @@
         ],
       }],
       ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
-         or OS=="netbsd" or OS=="mac" or OS=="android") and \
+         or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
         (target_arch=="arm" or target_arch=="ia32" or \
          target_arch=="mipsel")', {
         'target_conditions': [
@@ -124,14 +124,16 @@
           ], # conditions
           'target_conditions': [
             [ 'OS == "win" or OS == "mac" or OS == "ios" or '
-              '(OS == "android" and (_toolset == "target" or host_os != "linux"))', {
+              '(OS == "android" and (_toolset != "host" or host_os != "linux")) or '
+              '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', {
               'sources!': ['linux/icudt46l_dat.S'],
             }],
             [ 'OS != "android" or _toolset == "host"', {
               'sources!': ['android/icudt46l_dat.S'],
             }],
             [ 'OS != "mac" and OS != "ios" and '
-              '(OS != "android" or _toolset != "host" or host_os != "mac")', {
+              '((OS != "android" and OS != "qnx") or '
+	      '_toolset != "host" or host_os != "mac")', {
               'sources!': ['mac/icudt46l_dat.S'],
             }],
           ], # target_conditions
@@ -361,7 +363,16 @@
                   '-licuuc',
                 ],
               },
-            },{ # OS!="android"
+            }],
+            ['OS=="qnx"', {
+              'link_settings': {
+                'libraries': [
+                  '-licui18n',
+                  '-licuuc',
+                ],
+              },
+            }],
+            ['OS!="android" and OS!="qnx"', {
               'link_settings': {
                 'ldflags': [
                   '<!@(icu-config --ldflags)',
diff --git a/patches/platform.qnx.patch b/patches/platform.qnx.patch
new file mode 100644
index 0000000..2fdb79a
--- /dev/null
+++ b/patches/platform.qnx.patch
@@ -0,0 +1,35 @@
+diff --git a/source/common/unicode/pandroid.h b/source/common/unicode/pqnx.h
+--- a/source/common/unicode/pandroid.h
++++ b/source/common/unicode/pqnx.h
+@@ -45,8 +45,8 @@
+ #ifndef CYGWINMSVC
+ 
+ /** Define the platform we're on. */
+-#ifndef U_LINUX
+-#define U_LINUX
++#ifndef U_QNX
++#define U_QNX
+ #endif
+ 
+ /**
+@@ -331,7 +331,7 @@
+ #   ifdef __cplusplus
+ #       define U_INLINE inline
+ #   else
+-#       define U_INLINE inline
++#       define U_INLINE __inline__
+ #   endif
+ #endif
+ 
+diff --git a/source/common/unicode/ptypes.h b/source/common/unicode/ptypes.h
+--- a/source/common/unicode/ptypes.h
++++ b/source/common/unicode/ptypes.h
+@@ -34,6 +34,8 @@
+ #   include "unicode/pfreebsd.h"
+ #elif defined(__OpenBSD__)
+ #   include "unicode/popenbsd.h"
++#elif defined(__QNXNTO__)
++#   include "unicode/pqnx.h"
+ #else
+ #   include "unicode/platform.h"
+ #endif
diff --git a/patches/si_value.undef.patch b/patches/si_value.undef.patch
new file mode 100644
index 0000000..988872a
--- /dev/null
+++ b/patches/si_value.undef.patch
@@ -0,0 +1,14 @@
+--- source/common/ucnvmbcs.c
++++ source/common/ucnvmbcs.c
+@@ -56,6 +56,11 @@
+ #include "cmemory.h"
+ #include "cstring.h"
+ 
++/* si_value is defined as a macro in some POSIX implementations' standard headers. */
++#ifdef si_value
++#undef si_value
++#endif
++
+ /* control optimizations according to the platform */
+ #define MBCS_UNROLL_SINGLE_TO_BMP 1
+ #define MBCS_UNROLL_SINGLE_FROM_BMP 0
diff --git a/patches/xopen_source.patch b/patches/xopen_source.patch
new file mode 100644
index 0000000..964951c
--- /dev/null
+++ b/patches/xopen_source.patch
@@ -0,0 +1,28 @@
+--- source/common/putil.c
++++ source/common/putil.c
+@@ -37,15 +37,17 @@
+ ******************************************************************************
+ */
+ 
+-/* Define _XOPEN_SOURCE for Solaris and friends. */
+-/* NetBSD needs it to be >= 4 */
+-#if !defined(_XOPEN_SOURCE)
+-#if __STDC_VERSION__ >= 199901L
+-/* It is invalid to compile an XPG3, XPG4, XPG4v2 or XPG5 application using c99 on Solaris */
+-#define _XOPEN_SOURCE 600
++/* Define _XOPEN_SOURCE for access to POSIX functions. */
++#ifdef _XOPEN_SOURCE
++    /* Use the predefined value. */
+ #else
+-#define _XOPEN_SOURCE 4
+-#endif
++    /*
++     * Version 6.0:
++     * The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition)
++     * also known as
++     * SUSv3 = Open Group Single UNIX Specification, Version 3 (UNIX03)
++     */
++#   define _XOPEN_SOURCE 600
+ #endif
+ 
+ /* Make sure things like readlink and such functions work.
diff --git a/source/common/putil.c b/source/common/putil.c
index 3a1cea4..4f071cd 100644
--- a/source/common/putil.c
+++ b/source/common/putil.c
@@ -37,15 +37,17 @@
 ******************************************************************************
 */
 
-/* Define _XOPEN_SOURCE for Solaris and friends. */
-/* NetBSD needs it to be >= 4 */
-#if !defined(_XOPEN_SOURCE)
-#if __STDC_VERSION__ >= 199901L
-/* It is invalid to compile an XPG3, XPG4, XPG4v2 or XPG5 application using c99 on Solaris */
-#define _XOPEN_SOURCE 600
+/* Define _XOPEN_SOURCE for access to POSIX functions. */
+#ifdef _XOPEN_SOURCE
+    /* Use the predefined value. */
 #else
-#define _XOPEN_SOURCE 4
-#endif
+    /*
+     * Version 6.0:
+     * The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition)
+     * also known as
+     * SUSv3 = Open Group Single UNIX Specification, Version 3 (UNIX03)
+     */
+#   define _XOPEN_SOURCE 600
 #endif
 
 /* Make sure things like readlink and such functions work.
diff --git a/source/common/ucnvmbcs.c b/source/common/ucnvmbcs.c
index 538a18c..259f31e 100644
--- a/source/common/ucnvmbcs.c
+++ b/source/common/ucnvmbcs.c
@@ -56,6 +56,11 @@
 #include "cmemory.h"
 #include "cstring.h"
 
+/* si_value is defined as a macro in some POSIX implementations' standard headers. */
+#ifdef si_value
+#undef si_value
+#endif
+
 /* control optimizations according to the platform */
 #define MBCS_UNROLL_SINGLE_TO_BMP 1
 #define MBCS_UNROLL_SINGLE_FROM_BMP 0
diff --git a/source/common/unicode/ptypes.h b/source/common/unicode/ptypes.h
index e2336e0..82bf0e3 100644
--- a/source/common/unicode/ptypes.h
+++ b/source/common/unicode/ptypes.h
@@ -34,6 +34,8 @@
 #   include "unicode/pfreebsd.h"
 #elif defined(__OpenBSD__)
 #   include "unicode/popenbsd.h"
+#elif defined(__QNXNTO__)
+#   include "unicode/pqnx.h"
 #else
 #   include "unicode/platform.h"
 #endif
