diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-09-19 19:22:36 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-09-19 19:22:36 +0000 |
commit | 7319e90f320cfdb75f414109ccabcf2ddd11b41a (patch) | |
tree | c2eae6573c0bf2efc2131e6cc5f8021288f6d585 /dev-libs/elfutils/files | |
parent | arm stable, bug #478742 (diff) | |
download | gentoo-2-7319e90f320cfdb75f414109ccabcf2ddd11b41a.tar.gz gentoo-2-7319e90f320cfdb75f414109ccabcf2ddd11b41a.tar.bz2 gentoo-2-7319e90f320cfdb75f414109ccabcf2ddd11b41a.zip |
Fix building with clang due to small nested function #451986 by Hendrik v. Raven.
(Portage version: 2.2.0/cvs/Linux x86_64, signed Manifest commit with key FB7C4156)
Diffstat (limited to 'dev-libs/elfutils/files')
-rw-r--r-- | dev-libs/elfutils/files/elfutils-0.156-nested-funcs.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dev-libs/elfutils/files/elfutils-0.156-nested-funcs.patch b/dev-libs/elfutils/files/elfutils-0.156-nested-funcs.patch new file mode 100644 index 000000000000..f658a8f3e21e --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.156-nested-funcs.patch @@ -0,0 +1,36 @@ +clang does not like nested funcs. use a define instead. + +https://bugs.gentoo.org/451986 + +--- a/libelf/elf_begin.c ++++ b/libelf/elf_begin.c +@@ -1011,18 +1011,17 @@ elf_begin (fildes, cmd, ref) + return NULL; + } + +- Elf *lock_dup_elf () +- { +- /* We need wrlock to dup an archive. */ +- if (ref->kind == ELF_K_AR) +- { +- rwlock_unlock (ref->lock); +- rwlock_wrlock (ref->lock); +- } +- +- /* Duplicate the descriptor. */ +- return dup_elf (fildes, cmd, ref); +- } ++#define lock_dup_elf() \ ++ ({ \ ++ /* We need wrlock to dup an archive. */ \ ++ if (ref->kind == ELF_K_AR) \ ++ { \ ++ rwlock_unlock (ref->lock); \ ++ rwlock_wrlock (ref->lock); \ ++ } \ ++ /* Duplicate the descriptor. */ \ ++ dup_elf (fildes, cmd, ref); \ ++ }) + + switch (cmd) + { |