about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMeador Inge <meadori@codesourcery.com>2013-11-21 16:57:37 -0500
committerCarlos O'Donell <carlos@redhat.com>2013-11-21 16:57:37 -0500
commit84ae135d3282dc362bed0a5c9a575319ef336884 (patch)
tree7c4c9f708d588755467680506a37b7829fcd1ad7
parentdaf75146de07303ea0c5ad700ec5ef703ec114a1 (diff)
downloadglibc-84ae135d3282dc362bed0a5c9a575319ef336884.tar.gz
glibc-84ae135d3282dc362bed0a5c9a575319ef336884.tar.xz
glibc-84ae135d3282dc362bed0a5c9a575319ef336884.zip
Use __glibc_block in public headers.
As detailed in PR11157, the use of '__block' is known to interfere
with keywords in some environments, such as the Clang -fblocks extension.
Recently a similar issue was raised concerning the use of '__unused'
and a '__glibc' prefix was proposed to create a glibc implementation
namespace for these sorts of issues [1].  This patches takes that
approach.

[1] https://sourceware.org/ml/libc-alpha/2012-02/msg00047.html
[2] http://lists.debian.org/debian-glibc/2013/11/msg00020.html
-rw-r--r--ChangeLog8
-rw-r--r--NEWS22
-rw-r--r--crypt/crypt.h5
-rw-r--r--malloc/obstack.h2
-rw-r--r--posix/unistd.h3
5 files changed, 25 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index a6a21a2bcf..6f8a0215cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-11-21  Meador Inge  <meadori@codesourcery.com>
+
+	[BZ #11157]
+	* crypt/crypt.h (encrypt): Use __glibc_block instead of __block.
+	(encrypt_r): Likewise.
+	* malloc/obstack.h (obstack_free): Likewise.
+	* posix/unistd.h (encrypt): Likewise.
+
 2013-11-21  Guy Martin  <gmsoft@tuxicoman.be>
 
 	* sysdeps/generic/ldsodefs.h: Replace DL_DT_INIT_ADDRESS() and
diff --git a/NEWS b/NEWS
index f9837a66d6..0f70fc1be0 100644
--- a/NEWS
+++ b/NEWS
@@ -9,17 +9,17 @@ Version 2.19
 
 * The following bugs are resolved with this release:
 
-  156, 387, 431, 832, 2801, 7003, 9954, 10253, 10278, 11087, 13028, 13982,
-  13985, 14029, 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15048,
-  15218, 15277, 15308, 15362, 15374, 15400, 15427, 15483, 15522, 15531,
-  15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672, 15680,
-  15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15763,
-  15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856, 15857,
-  15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905,
-  15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15985,
-  15988, 15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071, 16072,
-  16074, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151, 16153,
-  16167, 16172.
+  156, 387, 431, 832, 2801, 7003, 9954, 11157, 10253, 10278, 11087, 13028,
+  13982, 13985, 14029, 14143, 14155, 14547, 14699, 14752, 14876, 14910,
+  15048, 15218, 15277, 15308, 15362, 15374, 15400, 15427, 15483, 15522,
+  15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672,
+  15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760,
+  15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856,
+  15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
+  15905, 15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966,
+  15985, 15988, 15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071,
+  16072, 16074, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151,
+  16153, 16167, 16172.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache
diff --git a/crypt/crypt.h b/crypt/crypt.h
index 985720bfd1..e0d37b5959 100644
--- a/crypt/crypt.h
+++ b/crypt/crypt.h
@@ -37,7 +37,8 @@ extern void setkey (const char *__key) __THROW __nonnull ((1));
 
 /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
    block in place.  */
-extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
+extern void encrypt (char *__glibc_block, int __edflag)
+     __THROW __nonnull ((1));
 
 #ifdef __USE_GNU
 /* Reentrant versions of the functions above.  The additional argument
@@ -64,7 +65,7 @@ extern void setkey_r (const char *__key,
 		      struct crypt_data * __restrict __data)
      __THROW __nonnull ((1, 2));
 
-extern void encrypt_r (char *__block, int __edflag,
+extern void encrypt_r (char *__glibc_block, int __edflag,
 		       struct crypt_data * __restrict __data)
      __THROW __nonnull ((1, 3));
 #endif
diff --git a/malloc/obstack.h b/malloc/obstack.h
index d2e056bf38..e786d1fef0 100644
--- a/malloc/obstack.h
+++ b/malloc/obstack.h
@@ -185,7 +185,7 @@ extern int _obstack_begin_1 (struct obstack *, int, int,
 			     void (*) (void *, void *), void *);
 extern int _obstack_memory_used (struct obstack *);
 
-void obstack_free (struct obstack *__obstack, void *__block);
+void obstack_free (struct obstack *__obstack, void *__glibc_block);
 
 
 /* Error handler called when `obstack_chunk_alloc' failed to allocate
diff --git a/posix/unistd.h b/posix/unistd.h
index 178223d755..d4eeaf1433 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -1144,7 +1144,8 @@ extern char *crypt (const char *__key, const char *__salt)
 
 /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
    block in place.  */
-extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
+extern void encrypt (char *__glibc_block, int __edflag)
+     __THROW __nonnull ((1));
 
 
 /* Swab pairs bytes in the first N bytes of the area pointed to by