]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at
authorZack Weinberg <zackw@panix.com>
Fri, 9 Mar 2018 14:42:04 +0000 (09:42 -0500)
committerZack Weinberg <zackw@panix.com>
Sat, 10 Mar 2018 20:17:18 +0000 (15:17 -0500)
On Alpha, the register $at is, by default, reserved for use by the
assembler, in the expansion of pseudo-instructions.  It's also used
by the special calling convention for _mcount.  We get warnings from
Alpha clone.S because the code to call _mcount isn't properly marked
up to tell the assembler not to use $at itself.

* sysdeps/unix/sysv/linux/alpha/clone.s (__clone): Wrap manual
uses of $at in .set noat / .set at.

ChangeLog
sysdeps/unix/sysv/linux/alpha/clone.S

index 8490083eadf8ce8e9d5c69d397ef4f235a35699e..e23ef4c6f4050f80251600206a6b00b6ec309ead 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-10  Zack Weinberg  <zackw@panix.com>
+
+       * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Wrap manual
+       uses of $at in .set noat / .set at.
+
 2018-03-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        * include/setjmp.h (__libc_longjmp): Remove libc_hidden_proto.
index bd85b0b1d38fa8a7f62ce2f0a579ef0ade4a1ddb..810a2e5e7871035c1ee71fbd360d207eddd56122 100644 (file)
        cfi_startproc
 __clone:
 #ifdef PROF
+       .set noat
        ldgp    gp,0(pv)
        lda     AT, _mcount
        jsr     AT, (AT), _mcount
+       .set at
 #endif
 
        /* Sanity check arguments.  */