From 433166ffd52b21a59742506c428d333fa60d998c Mon Sep 17 00:00:00 2001
From: rennes
Date: Wed, 22 Mar 2017 20:35:44 -0600
Subject: [PATCH] gnu: ustr: Fix build with GCC 5.
* gnu/packages/patches/ustr-fix-build-with-gcc-5.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/textutils.scm (ustr)[source]: Add patch.
---
gnu/local.mk | 1 +
.../patches/ustr-fix-build-with-gcc-5.patch | 899 +++++++++++++++++++++
gnu/packages/textutils.scm | 4 +-
3 files changed, 903 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/ustr-fix-build-with-gcc-5.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 4d85f15a0..f6c71f4c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -960,6 +960,7 @@ dist_patch_DATA = \
%D%/packages/patches/unzip-initialize-symlink-flag.patch \
%D%/packages/patches/unzip-overflow-long-fsize.patch \
%D%/packages/patches/unzip-remove-build-date.patch \
+ %D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
%D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/util-linux-CVE-2017-2616.patch \
%D%/packages/patches/upower-builddir.patch \
diff --git a/gnu/packages/patches/ustr-fix-build-with-gcc-5.patch b/gnu/packages/patches/ustr-fix-build-with-gcc-5.patch
new file mode 100644
index 000000000..80769cd3e
--- /dev/null
+++ b/gnu/packages/patches/ustr-fix-build-with-gcc-5.patch
@@ -0,0 +1,899 @@
+This patch allows to compile the 'ustr' package with gcc-5.
+
+The 'ustr' project hasn't been active since 2008.
+
+The patch was adapted from Debian source repository:
+''
+Commit: fb2528fef188b4de51a27c4f688042c36d2d7a18
+
+---
+ .topdeps | 1 +
+ .topmsg | 9 +++++++++
+ ustr-b-dbg-code.c | 8 ++++----
+ ustr-b-opt-code.c | 8 ++++----
+ ustr-cmp-dbg-code.c | 8 ++++----
+ ustr-cmp-opt-code.c | 8 ++++----
+ ustr-compiler.h | 4 ++--
+ ustr-fmt-dbg-code.c | 8 ++++----
+ ustr-fmt-opt-code.c | 8 ++++----
+ ustr-ins-dbg-code.c | 8 ++++----
+ ustr-ins-opt-code.c | 8 ++++----
+ ustr-io-dbg-code.c | 8 ++++----
+ ustr-io-opt-code.c | 8 ++++----
+ ustr-main-dbg-code.c | 2 +-
+ ustr-main-opt-code.c | 2 +-
+ ustr-parse-dbg-code.c | 8 ++++----
+ ustr-parse-opt-code.c | 8 ++++----
+ ustr-pool-dbg-code.c | 8 ++++----
+ ustr-pool-opt-code.c | 8 ++++----
+ ustr-replace-dbg-code.c | 8 ++++----
+ ustr-replace-opt-code.c | 8 ++++----
+ ustr-sc-dbg-code.c | 8 ++++----
+ ustr-sc-opt-code.c | 8 ++++----
+ ustr-set-dbg-code.c | 8 ++++----
+ ustr-set-opt-code.c | 8 ++++----
+ ustr-split-dbg-code.c | 8 ++++----
+ ustr-split-opt-code.c | 8 ++++----
+ ustr-spn-dbg-code.c | 8 ++++----
+ ustr-spn-opt-code.c | 8 ++++----
+ ustr-srch-dbg-code.c | 8 ++++----
+ ustr-srch-opt-code.c | 8 ++++----
+ ustr-sub-dbg-code.c | 8 ++++----
+ ustr-sub-opt-code.c | 8 ++++----
+ ustr-utf8-dbg-code.c | 8 ++++----
+ ustr-utf8-opt-code.c | 8 ++++----
+ 35 files changed, 134 insertions(+), 124 deletions(-)
+ create mode 100644 .topdeps
+ create mode 100644 .topmsg
+
+diff --git a/.topdeps b/.topdeps
+new file mode 100644
+index 0000000..0459513
+--- /dev/null
++++ b/.topdeps
+@@ -0,0 +1 @@
++upstream
+diff --git a/.topmsg b/.topmsg
+new file mode 100644
+index 0000000..b6b79fd
+--- /dev/null
++++ b/.topmsg
+@@ -0,0 +1,9 @@
++From: Václav OvsÃk
++Subject: [PATCH] fixes/gnu-inline
++
++This patch adds `__attribute__ ((gnu_inline))' into prototype macros
++before `inline' to force GNU89 behaviour of inline functions
++in C99 mode.
++See http://www.gnu.org/software/gcc/gcc-5/porting_to.html
++
++Signed-off-by: Václav OvsÃk
+diff --git a/ustr-b-dbg-code.c b/ustr-b-dbg-code.c
+index 4a7fdac..60e383e 100644
+--- a/ustr-b-dbg-code.c
++++ b/ustr-b-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-b.h"
+diff --git a/ustr-b-opt-code.c b/ustr-b-opt-code.c
+index 45e9e87..4011898 100644
+--- a/ustr-b-opt-code.c
++++ b/ustr-b-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-b.h"
+diff --git a/ustr-cmp-dbg-code.c b/ustr-cmp-dbg-code.c
+index 7b8af33..4c3adc2 100644
+--- a/ustr-cmp-dbg-code.c
++++ b/ustr-cmp-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-cmp.h"
+diff --git a/ustr-cmp-opt-code.c b/ustr-cmp-opt-code.c
+index 2076d1c..ff5d02c 100644
+--- a/ustr-cmp-opt-code.c
++++ b/ustr-cmp-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-cmp.h"
+diff --git a/ustr-compiler.h b/ustr-compiler.h
+index 9e71276..38ae026 100644
+--- a/ustr-compiler.h
++++ b/ustr-compiler.h
+@@ -92,7 +92,7 @@
+ #endif
+
+ #if USTR_CONF_COMPILE_USE_INLINE
+-#define USTR__INLINE inline
++#define USTR__INLINE __attribute__ ((gnu_inline)) inline
+ #else
+ #define USTR__INLINE /* no inline */
+ #endif
+@@ -123,7 +123,7 @@
+ # if USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ # define USTR_CONF_II_PROTO static USTR__INLINE
+ # else
+-# define USTR_CONF_II_PROTO extern inline
++# define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ # endif
+ #endif
+
+diff --git a/ustr-fmt-dbg-code.c b/ustr-fmt-dbg-code.c
+index 4249bb1..1f147a0 100644
+--- a/ustr-fmt-dbg-code.c
++++ b/ustr-fmt-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-fmt.h"
+diff --git a/ustr-fmt-opt-code.c b/ustr-fmt-opt-code.c
+index c73e375..989b29f 100644
+--- a/ustr-fmt-opt-code.c
++++ b/ustr-fmt-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-fmt.h"
+diff --git a/ustr-ins-dbg-code.c b/ustr-ins-dbg-code.c
+index 39f9bba..4c6d5ea 100644
+--- a/ustr-ins-dbg-code.c
++++ b/ustr-ins-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-ins.h"
+diff --git a/ustr-ins-opt-code.c b/ustr-ins-opt-code.c
+index 1aca827..859b44d 100644
+--- a/ustr-ins-opt-code.c
++++ b/ustr-ins-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-ins.h"
+diff --git a/ustr-io-dbg-code.c b/ustr-io-dbg-code.c
+index c361c93..d42e43f 100644
+--- a/ustr-io-dbg-code.c
++++ b/ustr-io-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-io.h"
+diff --git a/ustr-io-opt-code.c b/ustr-io-opt-code.c
+index b1b4525..ae8de87 100644
+--- a/ustr-io-opt-code.c
++++ b/ustr-io-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-io.h"
+diff --git a/ustr-main-dbg-code.c b/ustr-main-dbg-code.c
+index 4b821ce..abaa53a 100644
+--- a/ustr-main-dbg-code.c
++++ b/ustr-main-dbg-code.c
+@@ -7,5 +7,5 @@
+ #define USTR_CONF_E_PROTO extern
+ #define USTR_CONF_I_PROTO
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+diff --git a/ustr-main-opt-code.c b/ustr-main-opt-code.c
+index 233fb60..7ef6e98 100644
+--- a/ustr-main-opt-code.c
++++ b/ustr-main-opt-code.c
+@@ -7,5 +7,5 @@
+ #define USTR_CONF_E_PROTO extern
+ #define USTR_CONF_I_PROTO
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+diff --git a/ustr-parse-dbg-code.c b/ustr-parse-dbg-code.c
+index c9653af..6e1707d 100644
+--- a/ustr-parse-dbg-code.c
++++ b/ustr-parse-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-parse.h"
+diff --git a/ustr-parse-opt-code.c b/ustr-parse-opt-code.c
+index 0c8df4d..fc96db2 100644
+--- a/ustr-parse-opt-code.c
++++ b/ustr-parse-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-parse.h"
+diff --git a/ustr-pool-dbg-code.c b/ustr-pool-dbg-code.c
+index adf7519..957f9ca 100644
+--- a/ustr-pool-dbg-code.c
++++ b/ustr-pool-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-pool.h"
+diff --git a/ustr-pool-opt-code.c b/ustr-pool-opt-code.c
+index 2b0367c..c1b2413 100644
+--- a/ustr-pool-opt-code.c
++++ b/ustr-pool-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-pool.h"
+diff --git a/ustr-replace-dbg-code.c b/ustr-replace-dbg-code.c
+index fe02187..90531ac 100644
+--- a/ustr-replace-dbg-code.c
++++ b/ustr-replace-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-srch.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-replace.h"
+diff --git a/ustr-replace-opt-code.c b/ustr-replace-opt-code.c
+index e76b3bb..6232753 100644
+--- a/ustr-replace-opt-code.c
++++ b/ustr-replace-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-srch.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-replace.h"
+diff --git a/ustr-sc-dbg-code.c b/ustr-sc-dbg-code.c
+index 0011c63..d7ce317 100644
+--- a/ustr-sc-dbg-code.c
++++ b/ustr-sc-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-spn.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-sc.h"
+diff --git a/ustr-sc-opt-code.c b/ustr-sc-opt-code.c
+index 7cb81ba..4a97ed9 100644
+--- a/ustr-sc-opt-code.c
++++ b/ustr-sc-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-spn.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-sc.h"
+diff --git a/ustr-set-dbg-code.c b/ustr-set-dbg-code.c
+index 023875a..cf77071 100644
+--- a/ustr-set-dbg-code.c
++++ b/ustr-set-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-set.h"
+diff --git a/ustr-set-opt-code.c b/ustr-set-opt-code.c
+index e726888..34dcaf6 100644
+--- a/ustr-set-opt-code.c
++++ b/ustr-set-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-set.h"
+diff --git a/ustr-split-dbg-code.c b/ustr-split-dbg-code.c
+index 03e5ca5..e40d2a5 100644
+--- a/ustr-split-dbg-code.c
++++ b/ustr-split-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-spn.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-split.h"
+diff --git a/ustr-split-opt-code.c b/ustr-split-opt-code.c
+index d64e300..74f4b1c 100644
+--- a/ustr-split-opt-code.c
++++ b/ustr-split-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-spn.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-split.h"
+diff --git a/ustr-spn-dbg-code.c b/ustr-spn-dbg-code.c
+index ff97432..b0b09d4 100644
+--- a/ustr-spn-dbg-code.c
++++ b/ustr-spn-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-srch.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-spn.h"
+diff --git a/ustr-spn-opt-code.c b/ustr-spn-opt-code.c
+index 3ff0a07..92c5ccc 100644
+--- a/ustr-spn-opt-code.c
++++ b/ustr-spn-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-srch.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-spn.h"
+diff --git a/ustr-srch-dbg-code.c b/ustr-srch-dbg-code.c
+index 40e4dbf..0f4da21 100644
+--- a/ustr-srch-dbg-code.c
++++ b/ustr-srch-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-cmp-internal.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,6 +17,6 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-srch.h"
+
+diff --git a/ustr-srch-opt-code.c b/ustr-srch-opt-code.c
+index 635464d..8dde13d 100644
+--- a/ustr-srch-opt-code.c
++++ b/ustr-srch-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-cmp-internal.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,6 +17,6 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-srch.h"
+
+diff --git a/ustr-sub-dbg-code.c b/ustr-sub-dbg-code.c
+index f994716..b1712e6 100644
+--- a/ustr-sub-dbg-code.c
++++ b/ustr-sub-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #include "ustr-ins.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-sub.h"
+diff --git a/ustr-sub-opt-code.c b/ustr-sub-opt-code.c
+index 8cdb4eb..91780c7 100644
+--- a/ustr-sub-opt-code.c
++++ b/ustr-sub-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #include "ustr-ins.h"
+@@ -19,5 +19,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-sub.h"
+diff --git a/ustr-utf8-dbg-code.c b/ustr-utf8-dbg-code.c
+index 2666fc2..30786e9 100644
+--- a/ustr-utf8-dbg-code.c
++++ b/ustr-utf8-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-utf8.h"
+diff --git a/ustr-utf8-opt-code.c b/ustr-utf8-opt-code.c
+index 91fa754..abdf4c0 100644
+--- a/ustr-utf8-opt-code.c
++++ b/ustr-utf8-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO extern
+-#define USTR_CONF_i_PROTO extern inline
++#define USTR_CONF_i_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO extern
+-#define USTR_CONF_I_PROTO extern inline
++#define USTR_CONF_I_PROTO extern __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO __attribute__ ((gnu_inline)) inline
+ #include "ustr-utf8.h"
+--
+cgit v0.12
+
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 9e6309a0e..dbd71c2e8 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2016 ng0
;;; Copyright © 2016 Marius Bakke
;;; Copyright © 2017 Eric Bavier
+;;; Copyright © 2017 Rene Saavedra
;;;
;;; This file is part of GNU Guix.
;;;
@@ -232,7 +233,8 @@ input bits thoroughly but are not suitable for cryptography.")
"/ustr-" version ".tar.bz2"))
(sha256
(base32
- "1i623ygdj7rkizj7985q9d6vj5amwg686aqb5j3ixpkqkyp6xbrx"))))
+ "1i623ygdj7rkizj7985q9d6vj5amwg686aqb5j3ixpkqkyp6xbrx"))
+ (patches (search-patches "ustr-fix-build-with-gcc-5.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
--
2.12.0