about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSlava Barinov <v.barinov@samsung.com>2017-03-31 08:49:25 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-03-31 09:30:52 +0200
commitf035c8d055f25eaf6c93772f308afac10ce31ef2 (patch)
tree9088c60c51fc174f5342f92eff2a694b0300f26d
parent27ab0d9518746dfb59ed2ba59daefc981dc10e38 (diff)
downloadglibc-f035c8d055f25eaf6c93772f308afac10ce31ef2.tar.gz
glibc-f035c8d055f25eaf6c93772f308afac10ce31ef2.tar.xz
glibc-f035c8d055f25eaf6c93772f308afac10ce31ef2.zip
fts: Fix symbol redirect for fts_set [BZ #21289]
In a 32-bit environment with _FILE_OFFSET_BITS=64, the __REDIRECT macro
combined with __THROW generates an invalid C++ declaration.

(cherry picked from commit ce39613205dc47ceaeea76710d49e7a483b503ab)
-rw-r--r--ChangeLog5
-rw-r--r--NEWS5
-rw-r--r--io/fts.h2
3 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ef5388c2c3..85d6fc6192 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-31  Slava Barinov  <v.barinov@samsung.com>
+
+	[BZ #21289]
+	* io/fts.h (fts_set): Replace __REDIRECT with __REDIRECT_NTH.
+
 2017-03-20  Mike Frysinger  <vapier@gentoo.org>
 
 	[BZ #21275]
diff --git a/NEWS b/NEWS
index 9bf8c10926..fee1cf8ca8 100644
--- a/NEWS
+++ b/NEWS
@@ -9,10 +9,11 @@ Version 2.25.1
 
 The following bugs are resolved with this release:
 
-  [21109] Tunables broken on big-endian
-  [21115] sunrpc: Use-after-free in error path in clntudp_call
   [20257] sunrpc: clntudp_call does not enforce timeout when receiving data
   [21015] Document and fix --enable-bind-now
+  [21109] Tunables broken on big-endian
+  [21115] sunrpc: Use-after-free in error path in clntudp_call
+  [21289] Fix symbol redirect for fts_set
 
 Version 2.25
 
diff --git a/io/fts.h b/io/fts.h
index b9cff534e9..ab15567001 100644
--- a/io/fts.h
+++ b/io/fts.h
@@ -193,7 +193,7 @@ FTS	*__REDIRECT (fts_open, (char * const *, int,
 				int (*)(const FTSENT **, const FTSENT **)),
 		     fts64_open);
 FTSENT	*__REDIRECT (fts_read, (FTS *), fts64_read);
-int	 __REDIRECT (fts_set, (FTS *, FTSENT *, int), fts64_set) __THROW;
+int	 __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int), fts64_set);
 # else
 #  define fts_children fts64_children
 #  define fts_close fts64_close