public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at
@ 2018-03-10 20:23 Zack Weinberg
  0 siblings, 0 replies; only message in thread
From: Zack Weinberg @ 2018-03-10 20:23 UTC (permalink / raw)
  To: libc-alpha

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-03-10 20:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-10 20:23 [PATCH] alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at Zack Weinberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).