From a9c7f8acc7f553304a6d73fbee69b807f1c56fa6 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Tue, 24 Sep 2013 02:01:06 -0400 Subject: [PATCH] Resolves: #1009623 - Avoid the use of __block which is a reserved keyword for clang++ --- glibc-rh1009623.patch | 127 ++++++++++++++++++++++++++++++++++++++++++ glibc.spec | 10 +++- 2 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 glibc-rh1009623.patch diff --git a/glibc-rh1009623.patch b/glibc-rh1009623.patch new file mode 100644 index 0000000..05f5681 --- /dev/null +++ b/glibc-rh1009623.patch @@ -0,0 +1,127 @@ +diff -urN glibc-2.18-113-gf06dd27.orig/crypt/crypt.h glibc-2.18-113-gf06dd27/crypt/crypt.h +--- glibc-2.18-113-gf06dd27.orig/crypt/crypt.h 2013-09-23 02:12:27.779189944 -0400 ++++ glibc-2.18-113-gf06dd27/crypt/crypt.h 2013-09-23 02:15:57.129929355 -0400 +@@ -35,9 +35,9 @@ + /* Setup DES tables according KEY. */ + 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)); ++/* Encrypt data in __CRYPT_BLOCK in place if __EDFLAG is zero; otherwise ++ decrypt block in place. */ ++extern void encrypt (char *__crypt_block, int __edflag) __THROW __nonnull ((1)); + + #ifdef __USE_GNU + /* Reentrant versions of the functions above. The additional argument +@@ -64,7 +64,7 @@ + struct crypt_data * __restrict __data) + __THROW __nonnull ((1, 2)); + +-extern void encrypt_r (char *__block, int __edflag, ++extern void encrypt_r (char *__crypt_block, int __edflag, + struct crypt_data * __restrict __data) + __THROW __nonnull ((1, 3)); + #endif +diff -urN glibc-2.18-113-gf06dd27.orig/crypt/crypt-private.h glibc-2.18-113-gf06dd27/crypt/crypt-private.h +--- glibc-2.18-113-gf06dd27.orig/crypt/crypt-private.h 2013-09-23 02:12:27.780189942 -0400 ++++ glibc-2.18-113-gf06dd27/crypt/crypt-private.h 2013-09-23 02:14:50.747010628 -0400 +@@ -49,7 +49,7 @@ + + extern void __setkey_r (const char *__key, + struct crypt_data * __restrict __data); +-extern void __encrypt_r (char * __restrict __block, int __edflag, ++extern void __encrypt_r (char * __restrict __crypt_block, int __edflag, + struct crypt_data * __restrict __data); + + /* crypt-entry.c */ +diff -urN glibc-2.18-113-gf06dd27.orig/crypt/crypt_util.c glibc-2.18-113-gf06dd27/crypt/crypt_util.c +--- glibc-2.18-113-gf06dd27.orig/crypt/crypt_util.c 2013-09-23 02:12:27.780189942 -0400 ++++ glibc-2.18-113-gf06dd27/crypt/crypt_util.c 2013-09-23 02:15:38.265952326 -0400 +@@ -821,8 +821,8 @@ + */ + + void +-__encrypt_r(__block, __edflag, __data) +- char *__block; ++__encrypt_r(__crypt_block, __edflag, __data) ++ char *__crypt_block; + int __edflag; + struct crypt_data * __restrict __data; + { +@@ -873,21 +873,21 @@ + */ + i = 0; + for(l1 = 0; i < 24; i++) { +- if(__block[initial_perm[esel[i]-1]-1]) ++ if(__crypt_block[initial_perm[esel[i]-1]-1]) + l1 |= BITMASK[i]; + } + for(l2 = 0; i < 48; i++) { +- if(__block[initial_perm[esel[i]-1]-1]) ++ if(__crypt_block[initial_perm[esel[i]-1]-1]) + l2 |= BITMASK[i-24]; + } + + i = 0; + for(r1 = 0; i < 24; i++) { +- if(__block[initial_perm[esel[i]-1+32]-1]) ++ if(__crypt_block[initial_perm[esel[i]-1+32]-1]) + r1 |= BITMASK[i]; + } + for(r2 = 0; i < 48; i++) { +- if(__block[initial_perm[esel[i]-1+32]-1]) ++ if(__crypt_block[initial_perm[esel[i]-1+32]-1]) + r2 |= BITMASK[i-24]; + } + +@@ -908,20 +908,20 @@ + */ + l1 = res[0]; r1 = res[1]; + for(i = 0; i < 32; i++) { +- *__block++ = (l1 & longmask[i]) != 0; ++ *__crypt_block++ = (l1 & longmask[i]) != 0; + } + for(i = 0; i < 32; i++) { +- *__block++ = (r1 & longmask[i]) != 0; ++ *__crypt_block++ = (r1 & longmask[i]) != 0; + } + } + weak_alias (__encrypt_r, encrypt_r) + + void +-encrypt(__block, __edflag) +- char *__block; ++encrypt(__crypt_block, __edflag) ++ char *__crypt_block; + int __edflag; + { +- __encrypt_r(__block, __edflag, &_ufc_foobar); ++ __encrypt_r(__crypt_block, __edflag, &_ufc_foobar); + } + + +diff -urN glibc-2.18-113-gf06dd27.orig/malloc/obstack.h glibc-2.18-113-gf06dd27/malloc/obstack.h +--- glibc-2.18-113-gf06dd27.orig/malloc/obstack.h 2013-09-23 02:12:27.845189859 -0400 ++++ glibc-2.18-113-gf06dd27/malloc/obstack.h 2013-09-23 02:17:19.064830699 -0400 +@@ -185,7 +185,7 @@ + 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 *__obj); + + + /* Error handler called when `obstack_chunk_alloc' failed to allocate +diff -urN glibc-2.18-113-gf06dd27.orig/posix/unistd.h glibc-2.18-113-gf06dd27/posix/unistd.h +--- glibc-2.18-113-gf06dd27.orig/posix/unistd.h 2013-09-23 02:12:27.764189963 -0400 ++++ glibc-2.18-113-gf06dd27/posix/unistd.h 2013-09-23 02:16:35.937882403 -0400 +@@ -1144,7 +1144,7 @@ + + /* 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 *__crypt_block, int __edflag) __THROW __nonnull ((1)); + + + /* Swab pairs bytes in the first N bytes of the area pointed to by diff --git a/glibc.spec b/glibc.spec index 03c34a6..e591cd6 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.18-151-g303e567 %define glibcversion 2.18.90 -%define glibcrelease 5%{?dist} +%define glibcrelease 6%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -180,6 +180,9 @@ Patch0040: %{name}-rh731833-rtkaio.patch Patch0041: %{name}-rh731833-rtkaio-2.patch Patch0042: %{name}-rh970865.patch +# Avoid the use of __block which is a reserved keyword for clang++. +Patch0043: %{name}-rh1009623.patch + # # Patches from upstream # @@ -532,6 +535,7 @@ package or when debugging this package. %patch0040 -p1 %patch0041 -p1 %patch0042 -p1 +%patch0043 -p1 ############################################################################## # %%prep - Additional prep required... @@ -1617,6 +1621,10 @@ rm -f *.filelist* %endif %changelog +* Tue Sep 24 2013 Carlos O'Donell - 2.18.90-6 +- Avoid the use of __block which is a reserved keyword for clang++ + (#1009623). + * Mon Sep 23 2013 Siddhesh Poyarekar - 2.18.90-5 - Resync with upstream master.