This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.19-706-gb351d85

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  b351d85aa284f81271bc93e11301e1c2466b7c82 (commit)
      from  3cb4de474155c315003746f3de9c408b824abc5e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------;a=commitdiff;h=b351d85aa284f81271bc93e11301e1c2466b7c82

commit b351d85aa284f81271bc93e11301e1c2466b7c82
Author: Joseph Myers <>
Date:   Thu Jun 26 23:55:46 2014 +0000

    Fix MIPS64 *_nocancel gp setup.
    The 64-bit MIPS ABIs involve the caller setting up t9 ($25) to the
    address of the called function, and the called function then using
    this in a .cpsetup directive to compute gp.  The .cpsetup directive
    needs to name the function to which t9 points for this purpose.  In
    the definition of *_nocancel functions, the directive pointed to the
    normal entry point rather than the _nocancel one, resulting in
    segfaults when the _nocancel functions were used.  This patch corrects
    the function name used in the directive.  (It seems the bug was latent
    until Roland's not-cancel.h unification, with the _nocancel entry
    points not previously being used - so not user-visible in a release,
    so no Bugzilla entry required.)
    Tested mips64 sufficiently to confirm the previously seen segfaults
    are fixed.
    	* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
    	[__PIC__] (PSEUDO): Use name of _nocancel entry point in
    	corresponding .cpsetup call.

diff --git a/ChangeLog b/ChangeLog
index 85e4c25..83ef754 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-26  Joseph Myers  <>
+	* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
+	[__PIC__] (PSEUDO): Use name of _nocancel entry point in
+	corresponding .cpsetup call.
 2014-06-26  Roland McGrath  <>
 	* sysdeps/unix/sysv/linux/arm/libc-aeabi_read_tp.S: Moved ...
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
index d9e7236..341b9a0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
@@ -47,7 +47,7 @@
   .globl __##syscall_name##_nocancel;					      \
   __##syscall_name##_nocancel:						      \
     SAVESTK;								      \
-    .cpsetup t9, STKOFF_GP, name;					      \
+    .cpsetup t9, STKOFF_GP, __##syscall_name##_nocancel;		      \
     cfi_rel_offset (gp, STKOFF_GP);					      \
     li v0, SYS_ify(syscall_name);					      \
     syscall;								      \


Summary of changes:
 ChangeLog                                          |    6 ++++++
 .../sysv/linux/mips/mips64/nptl/sysdep-cancel.h    |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

GNU C Library master sources

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]