Fix MIPS64 *_nocancel gp setup.
commitb351d85aa284f81271bc93e11301e1c2466b7c82
authorJoseph Myers <joseph@codesourcery.com>
Thu, 26 Jun 2014 23:55:46 +0000 (26 23:55 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 26 Jun 2014 23:55:46 +0000 (26 23:55 +0000)
treebbde7ff8a6d9beb8ea914d9617b1209ef8b8fc3a
parent3cb4de474155c315003746f3de9c408b824abc5e
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.
ChangeLog
sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h