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
This commit is contained in:
Meador Inge 2013-11-21 16:57:37 -05:00 committed by Carlos O'Donell
parent daf75146de
commit 84ae135d32
5 changed files with 25 additions and 15 deletions

View File

@ -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

22
NEWS
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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