aboutsummaryrefslogtreecommitdiff
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.zip
glibc-84ae135d3282dc362bed0a5c9a575319ef336884.tar.gz
glibc-84ae135d3282dc362bed0a5c9a575319ef336884.tar.bz2
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 a6a21a2..6f8a021 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 f9837a6..0f70fc1 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 985720b..e0d37b5 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 d2e056b..e786d1f 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 178223d..d4eeaf1 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