path: root/gcc-4.9/libgcc/config/bfin/linux-unwind.h
diff options
authorYunlian Jiang <yunlian@chromium.org>2018-04-24 14:24:57 -0700
committerYunlian Jiang <yunlian@google.com>2018-04-24 14:30:04 -0700
commit5669c9914b411b5094532856815b2c4712be4d10 (patch)
tree3f6875baed5d4f6df3cd660fcd31bfe416aadf39 /gcc-4.9/libgcc/config/bfin/linux-unwind.h
parente46354e85363dbd7ea85492f70af89273881709f (diff)
gcc: backport an upstream patch to make it work with newer glibc.
Newer glibc removes 'struct' tag from ucontext_t. Because of this, gcc failed to bootstrap with newer glibc. This patch from upstream fixes that. BUG=chromium:834385 TEST=sudo emerge sys-devel/gcc passes with newer glibc installed. commit 14c2f22a1877f6b60a2f7c2f83ffb032759456a6 Author: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Jul 4 10:22:56 2017 +0000 Use ucontext_t not struct ucontext in linux-unwind.h files. Current glibc no longer gives the ucontext_t type the tag struct ucontext, to conform with POSIX namespace rules. This requires various linux-unwind.h files in libgcc, that were previously using struct ucontext, to be fixed to use ucontext_t instead. This is similar to the removal of the struct siginfo tag from siginfo_t some years ago. This patch changes those files to use ucontext_t instead. As the standard name that should be unconditionally safe, so this is not restricted to architectures supported by glibc, or conditioned on the glibc version. Tested compilation together with current glibc with glibc's build-many-glibcs.py. Change-Id: I433dd983b8d18c538d96486f7362b953ece3bfb8
Diffstat (limited to 'gcc-4.9/libgcc/config/bfin/linux-unwind.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc-4.9/libgcc/config/bfin/linux-unwind.h b/gcc-4.9/libgcc/config/bfin/linux-unwind.h
index dc58f0a..8b94568 100644
--- a/gcc-4.9/libgcc/config/bfin/linux-unwind.h
+++ b/gcc-4.9/libgcc/config/bfin/linux-unwind.h
@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
void *puc;
char retcode[8];
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.