From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30702 invoked by alias); 15 Apr 2006 00:08:50 -0000 Received: (qmail 30688 invoked by uid 22791); 15 Apr 2006 00:08:50 -0000 X-Spam-Check-By: sourceware.org Received: from hq.tensilica.com (HELO mailapp.tensilica.com) (65.205.227.29) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 15 Apr 2006 00:08:47 +0000 Received: from localhost ([127.0.0.1] ident=amavis) by mailapp.tensilica.com with esmtp (Exim 4.34) id 1FUYLF-0005vJ-Kg for binutils@sources.redhat.com; Fri, 14 Apr 2006 17:08:45 -0700 Received: from mailapp.tensilica.com ([127.0.0.1]) by localhost (mailapp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22029-06 for ; Fri, 14 Apr 2006 17:08:45 -0700 (PDT) Received: from heron.hq.tensilica.com ([192.168.11.123]) by mailapp.tensilica.com with esmtp (Exim 4.34) id 1FUYLF-0005vD-9e for binutils@sources.redhat.com; Fri, 14 Apr 2006 17:08:45 -0700 Received: from [192.168.11.123] (heron.hq.tensilica.com [192.168.11.123]) by heron.hq.tensilica.com (8.13.6/8.13.6) with ESMTP id k3F08jCg017096 for ; Fri, 14 Apr 2006 17:08:45 -0700 Message-ID: <4440398C.7000909@tensilica.com> Date: Sat, 15 Apr 2006 00:53:00 -0000 From: Bob Wilson User-Agent: Thunderbird 1.5 (X11/20060313) MIME-Version: 1.0 To: binutils@sources.redhat.com Subject: [Xtensa] fix GAS to avoid incorrect MOVI relaxations Content-Type: multipart/mixed; boundary="------------040506090200030404030406" Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-04/txt/msg00189.txt.bz2 This is a multi-part message in MIME format. --------------040506090200030404030406 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 607 Assembler relaxations for Xtensa can be disabled with a no-transform directive or by prefixing an opcode name with an underscore. This patch fixes a special-case relaxation for MOVI opcodes where these flags were not being checked. If a MOVI instruction needs to be relaxed but is not allowed to be transformed, the assembler will now correctly report an error. Tested with an xtensa-elf target and committed on mainline. 2006-04-14 Sterling Augustine * config/tc-xtensa.c (emit_single_op): Do not relax MOVI instructions when such transformations have been disabled. --------------040506090200030404030406 Content-Type: text/x-patch; name="no-transform.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="no-transform.diff" Content-length: 778 Index: config/tc-xtensa.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-xtensa.c,v retrieving revision 1.62 diff -u -p -r1.62 tc-xtensa.c --- config/tc-xtensa.c 10 Apr 2006 19:00:31 -0000 1.62 +++ config/tc-xtensa.c 14 Apr 2006 23:55:12 -0000 @@ -6573,7 +6573,8 @@ emit_single_op (TInsn *orig_insn) || orig_insn->opcode == xtensa_movi_n_opcode) && !cur_vinsn.inside_bundle && (orig_insn->tok[1].X_op == O_symbol - || orig_insn->tok[1].X_op == O_pltrel)) + || orig_insn->tok[1].X_op == O_pltrel) + && !orig_insn->is_specific_opcode && use_transform ()) xg_assembly_relax (&istack, orig_insn, now_seg, frag_now, 0, 1, 0); else if (xg_expand_assembly_insn (&istack, orig_insn)) --------------040506090200030404030406--