From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7737 invoked by alias); 11 Jun 2002 02:06:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 7711 invoked by uid 71); 11 Jun 2002 02:06:01 -0000 Resent-Date: 11 Jun 2002 02:06:01 -0000 Resent-Message-ID: <20020611020601.7709.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, savage@light-speed.de Received: (qmail 22164 invoked by uid 61); 11 Jun 2002 01:57:06 -0000 Message-Id: <20020611015706.22154.qmail@sources.redhat.com> Date: Mon, 10 Jun 2002 19:06:00 -0000 From: savage@light-speed.de Reply-To: savage@light-speed.de To: gcc-gnats@gcc.gnu.org Cc: gcc-bugs@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: gcc-bugs@gcc.gnu.org Subject: optimization/6988: __asm__ __volatile__ disappears X-SW-Source: 2002-06/txt/msg00232.txt.bz2 List-Id: >Number: 6988 >Category: optimization >Synopsis: __asm__ __volatile__ disappears >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Jun 10 19:06:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Jens Troeger >Release: gcc 2.96-85 (RedHat 7.1) >Organization: >Environment: Linux i686, Kernel 2.4.9-31custom (RedHat) >Description: this particular version of (RH-homemade) gcc simply "optimizes" away __asm__ __volatile__ instructions, and emits code that is unable to handle &&Llabel arithmetic. further, the inline assembly is moved around to a wrong place. compile the code with gcc -S -g3 -O0 test.c and you will see. i attach both, an example c file, as well as the emitted asm file. >How-To-Repeat: ------------------ test.c int main(int argc, char* argv[]) { int len = &&Lend - &&Lstart; return 0; Lstart: __asm__ __volatile__ ("nop; nop"); Lend: (void)0; } ---------------------- test.s see .L3 and .L4 main: .stabn 68,0,2,.LM1-main .LM1: .LBB2: pushl %ebp movl %esp, %ebp subl $4, %esp .stabn 68,0,4,.LM2-main .LM2: movl $.L3, %eax subl $.L4, %eax movl %eax, -4(%ebp) .stabn 68,0,5,.LM3-main .LM3: movl $0, %eax .L4: .L3: .stabn 68,0,11,.LM4-main .LM4: .LBE2: leave ret >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-gzip; name="src.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="src.tgz" H4sIAEVYBT0AA+1WXW/bNhTNq/QrCKEr7EJWSIr6iIUARYquffD2MGBPwyDINuMIkCVDkg13w/57 76UoRZntdBuQDMN4Ephf95x7SV5SbGXTequrFwVllIZCXFFAFHYl020EZ+EVjQLKeOBHQQT2TNDg itCXDavDvmmzmpCrJjtkG/mcnayb1wjodWHnZUu2WV5OsJLVm5VLVg9Z/Q7rh19+nZLfbdvCsUKW 5Ja8fbuQ5ZrMsIIr1ya2Vct2X5eEJrbd9c1tK02zZpumJE0PVZG1eSGhMXHKapcQ+HGmiY1CYDk5 VPl6CuQ/bPvfXo3/H1o8/y+c1984/4JivT//UXf+fW7O/2vA8u7hbFqOyoOVY1veAeaZV6XlUOZR 5tgeLNCyIc71Q7WV190yXTsu7KmLf96ilceWDmZa6HQcC1u34Nh39pazWa14uqq2Owhj7TkuoUcf 7iDa/Q+ycAPN2wl12fS2VkUy40xEIvZDESdDNUrAM4+V50cyXmiKzTs2nyY0Yfy8cVGVG9K78zuC /7fc7csm35RyPaiITkWA2zGghfmucTmYE72g0wv+od6TGYbT2/dNKJJa1RM8q2eQ0OgcvuHjJPBo 5Cw6iZ79dR/NQ1W3g2yMsixUsjFslc+jME7w9zn2SXQ3I5kbTJEwCPzgvELHHBKLUeTGigr1ZAaU ixk2OH6ksxGdoWsenHd8X1SZPgl8OAoCCOeM19V+WcjO2h+s4wvWasvGFDFQGL/AwYNbyOOwhAxS s4lrmRVzxQRjnyf5Ntvots+x41mt0RRDHUF4OeqeNQ480jRIMdjO53kns441GRKJX1rYNF3u86LN y/SQpUXe6HAhgd7h9QLJ0BVjruVlBWw7EYMKPrvm36t1cVw/BCvuYt9ggM+x+U4bsJAqi3g8fFDD nGnHXJcjc8Ztb1NUy0K98iCK9stOWqrhvr/fl6sWLntbhaIv5ZKEsaJ6ix/YrAsIanP4vbvjYLXb Nw+F9Z1c7mxrWx2w2uxc0nU0sJLWG4HNZvdUUaAiHxRRStHfeAsf7bNjT/cWou/QDrKjS2Zigj6m T1UDVPUHVX9QpVoCxDB2/0/zYwyJYiAqo7uPGFUhs4NU71roupdMMfPf+mVTfbMnOwWP43m/T7yb 60xvdEnYDdefQli/Ea8knIt+5OOwMM2q2kn4RPbaOjfQqhua9TuJX1Tr0ezxkyv1x1aVGH2+lmVr OZ8+fJiTyacff54S7t2EhKsnmc/I5Ce4jj5nLVnk5f5IIo8pg1kcTB3zKjcwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMPgP4St9HxpFACgAAA==