This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at
- From: Zack Weinberg <zackw at panix dot com>
- To: libc-alpha at sourceware dot org
- Date: Sat, 10 Mar 2018 15:23:03 -0500
- Subject: [PATCH] alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at
- Authentication-results: sourceware.org; auth=none
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.
Tested with cross-compilation from x86-linux to alpha-linux.
Committed as trivial bugfix.
* sysdeps/unix/sysv/linux/alpha/clone.s (__clone): Wrap manual
uses of $at in .set noat / .set at.
---
sysdeps/unix/sysv/linux/alpha/clone.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S
index bd85b0b1d3..810a2e5e78 100644
--- a/sysdeps/unix/sysv/linux/alpha/clone.S
+++ b/sysdeps/unix/sysv/linux/alpha/clone.S
@@ -40,9 +40,11 @@
cfi_startproc
__clone:
#ifdef PROF
+ .set noat
ldgp gp,0(pv)
lda AT, _mcount
jsr AT, (AT), _mcount
+ .set at
#endif
/* Sanity check arguments. */
--
2.16.2