aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-05-09 10:05:29 -0700
committerRoland McGrath <roland@hack.frob.com>2014-05-09 10:06:20 -0700
commit55d4d550c8d77d42f968ac5a3f9be2dfcb05b620 (patch)
tree8614aa418dba61ee577c17945d5b196d92e8bd79
parent77d08acaadfb197cd03c56ac8f72baabeb305f25 (diff)
downloadglibc-55d4d550c8d77d42f968ac5a3f9be2dfcb05b620.tar
glibc-55d4d550c8d77d42f968ac5a3f9be2dfcb05b620.tar.gz
glibc-55d4d550c8d77d42f968ac5a3f9be2dfcb05b620.tar.bz2
glibc-55d4d550c8d77d42f968ac5a3f9be2dfcb05b620.zip
Silence a missing-noreturn warning for _Unwind_Resume.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/gnu/unwind-resume.c12
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4510093bfa..2da8ae1ce9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-09 Roland McGrath <roland@hack.frob.com>
+
+ * sysdeps/gnu/unwind-resume.c (libgcc_s_resume): Mark as noreturn.
+
2014-05-09 Joseph Myers <joseph@codesourcery.com>
[BZ #16064]
diff --git a/sysdeps/gnu/unwind-resume.c b/sysdeps/gnu/unwind-resume.c
index c7d6870731..5044a7182e 100644
--- a/sysdeps/gnu/unwind-resume.c
+++ b/sysdeps/gnu/unwind-resume.c
@@ -21,7 +21,8 @@
#include <unwind.h>
#include <gnu/lib-names.h>
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
+ __attribute__ ((noreturn));
static _Unwind_Reason_Code (*libgcc_s_personality)
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
struct _Unwind_Context *);
@@ -37,7 +38,8 @@ init (void)
if (handle == NULL
|| (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL
|| (personality = __libc_dlsym (handle, "__gcc_personality_v0")) == NULL)
- __libc_fatal (LIBGCC_S_SO " must be installed for pthread_cancel to work\n");
+ __libc_fatal (LIBGCC_S_SO
+ " must be installed for pthread_cancel to work\n");
libgcc_s_resume = resume;
libgcc_s_personality = personality;
@@ -48,7 +50,7 @@ _Unwind_Resume (struct _Unwind_Exception *exc)
{
if (__glibc_unlikely (libgcc_s_resume == NULL))
init ();
- libgcc_s_resume (exc);
+ (*libgcc_s_resume) (exc);
}
_Unwind_Reason_Code
@@ -59,6 +61,6 @@ __gcc_personality_v0 (int version, _Unwind_Action actions,
{
if (__glibc_unlikely (libgcc_s_personality == NULL))
init ();
- return libgcc_s_personality (version, actions, exception_class,
- ue_header, context);
+ return (*libgcc_s_personality) (version, actions, exception_class,
+ ue_header, context);
}