From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4264 invoked by alias); 17 Feb 2005 15:51:25 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 4220 invoked from network); 17 Feb 2005 15:51:19 -0000 Received: from unknown (HELO pollux.ds.pg.gda.pl) (153.19.208.7) by sourceware.org with SMTP; 17 Feb 2005 15:51:19 -0000 Received: from localhost (localhost [127.0.0.1]) by pollux.ds.pg.gda.pl (Postfix) with ESMTP id 9E1F1E1CA1; Thu, 17 Feb 2005 16:51:14 +0100 (CET) Received: from pollux.ds.pg.gda.pl ([127.0.0.1]) by localhost (pollux [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 08149-06; Thu, 17 Feb 2005 16:51:14 +0100 (CET) Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8]) by pollux.ds.pg.gda.pl (Postfix) with ESMTP id 54C05E1C9C; Thu, 17 Feb 2005 16:51:14 +0100 (CET) Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6]) by piorun.ds.pg.gda.pl (8.13.1/8.13.1) with ESMTP id j1HFpHp4021508; Thu, 17 Feb 2005 16:51:17 +0100 Date: Thu, 17 Feb 2005 20:50:00 -0000 From: "Maciej W. Rozycki" To: Eric Christopher Cc: Thiemo Seufer , binutils@sources.redhat.com Subject: Re: [PATCH] MIPS gas: Fix macro expansions for .set noat In-Reply-To: <1108624232.4149.13.camel@localhost.localdomain> Message-ID: References: <20050216154924.GG1757@rembrandt.csv.ica.uni-stuttgart.de> <20050216192153.GH1757@rembrandt.csv.ica.uni-stuttgart.de> <20050217002446.GJ1757@rembrandt.csv.ica.uni-stuttgart.de> <1108624232.4149.13.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Status: Clean X-SW-Source: 2005-02/txt/msg00403.txt.bz2 On Wed, 16 Feb 2005, Eric Christopher wrote: > > 2005-02-16 Thiemo Seufer > > > > /gas/ChangeLog > > * config/tc-mips.c (macro): Don't fail but warn on $at uses > > after .set noat, it may only be sloppy coding. Don't try to > > avoid $at use by sacrificing the target register before it is > > stored, it won't work. > > Actually I disagree. If the user used .set noat and has sloppy coding we > should fall over like we would for .set nomacro or such. What exactly do you mean? $ cat nomacro.S .set noreorder .set nomacro la $2,foo($3) $ gcc -c nomacro.S nomacro.S: Assembler messages: nomacro.S:3: Warning: Macro instruction expanded into multiple instructions $ objdump -Sr nomacro.o nomacro.o: file format elf32-tradbigmips Disassembly of section .text: 00000000 <.text>: 0: 8f820000 lw v0,0(gp) 0: R_MIPS_GOT16 foo 4: 00000000 nop 8: 00431021 addu v0,v0,v1 c: 00000000 nop It's always been like this and when I complained once, asking for making it an error I was told a warning was The Right Way and it was not going to be changed, sigh... If the rules have changed now, then I am happy about it as I've never seen any benefit from the current behavior. But then the update should be consistent and make all "set noat" and ".set nomacro" violations trigger the same action. Maciej