public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/65780] [5 Regression] Uninitialized common handling in executables
Date: Tue, 21 Apr 2015 14:18:00 -0000	[thread overview]
Message-ID: <bug-65780-4-wvrRa67vWU@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-65780-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65780

--- Comment #48 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Stupachenko Evgeny from comment #47)
> The patch caused significant regressions (see below) on spec2000 INT
> benchmarks compiled with options “-fPIE -pie -O2 -ffast-math -mfpmath=sse
> -m32 -march=corei7-avx” or “-fPIE -pie -O2 -ffast-math -mfpmath=sse -m32
> -march=slm”.
> 
> Sandybridge:
> 164.gzip    1635.0000  1602.0000 -2.01% 
> 197.parser  2159.0000  2117.0000 -1.94% 
> 254.gap     2909.0000  2886.0000 -0.79% 
> 256.bzip2   2232.0000  2154.0000 -3.49%
> 
> Silvermont:
> 164.gzip     964.0000   945.0000 -1.97% 
> 197.parser   951.0000   940.0000 -1.15% 
> 254.gap     1328.0000  1296.0000 -2.40% 
> 256.bzip2    952.0000   898.0000 -5.67%

That is the price to pay for correctness.  If you want to avoid that penalty,
I'd say change ld.bfd as well as ld.gold on i?86 to use COPY relocations for
PIEs like x86_64 has been changed some time ago, then when configured against
improved linker and with small patch to gcc you can recover not just that cost,
but some more on top of that.
>From gcc-bugs-return-484185-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Apr 21 14:40:30 2015
Return-Path: <gcc-bugs-return-484185-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 56716 invoked by alias); 21 Apr 2015 14:40:30 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 56656 invoked by uid 48); 21 Apr 2015 14:40:26 -0000
From: "hjl.tools at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/65780] [5 Regression] Uninitialized common handling in executables
Date: Tue, 21 Apr 2015 14:40:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: hjl.tools at gmail dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65780-4-xqa06SnBqg@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65780-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65780-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-04/txt/msg01737.txt.bz2
Content-length: 1070

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65780

--- Comment #49 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Stupachenko Evgeny from comment #47)
> The patch caused significant regressions (see below) on spec2000 INT
> benchmarks compiled with options “-fPIE -pie -O2 -ffast-math -mfpmath=sse
> -m32 -march=corei7-avx” or “-fPIE -pie -O2 -ffast-math -mfpmath=sse -m32
> -march=slm”.
> 
> Sandybridge:
> 164.gzip    1635.0000  1602.0000 -2.01% 
> 197.parser  2159.0000  2117.0000 -1.94% 
> 254.gap     2909.0000  2886.0000 -0.79% 
> 256.bzip2   2232.0000  2154.0000 -3.49%
> 
> Silvermont:
> 164.gzip     964.0000   945.0000 -1.97% 
> 197.parser   951.0000   940.0000 -1.15% 
> 254.gap     1328.0000  1296.0000 -2.40% 
> 256.bzip2    952.0000   898.0000 -5.67%

As Jakub pointed out, this commit is for correctness.  Please open
a new bug report to optimize undefined/common symbol access in PIE
if linker supports copy reloc in PIE:

https://sourceware.org/bugzilla/show_bug.cgi?id=18289
>From gcc-bugs-return-484186-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Apr 21 15:20:11 2015
Return-Path: <gcc-bugs-return-484186-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 84704 invoked by alias); 21 Apr 2015 15:20:11 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 84677 invoked by uid 48); 21 Apr 2015 15:20:06 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug preprocessor/65834] New: give error for #if with no expression at the previous location
Date: Tue, 21 Apr 2015 15:20:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: preprocessor
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-65834-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-04/txt/msg01738.txt.bz2
Content-length: 1090

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65834

            Bug ID: 65834
           Summary: give error for #if with no expression at the previous
                    location
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot gnu.org
          Reporter: manu at gcc dot gnu.org

Distilled from:
http://www.linuxquestions.org/questions/linux-from-scratch-13/replace-gcc-with-clang-4175491981/#post5108443

extern void foo(void);
#define TEST

int bar(void)
{
#if TEST
  foo();
#endif
  return 0;
}

Currently:

test.c:6:9: error: #if with no expression
 #if TEST
         ^

Expected something like:

test.c:6:9: error: #if with no expression
 #if TEST
     ^
test.c:2:14: note: in expansion of macro ‘TEST’

I think this could be possible by giving the error at the location of TEST
(which should be the previously encoded source_location) rather that at the
current one.

 #define TEST 
              ^
>From gcc-bugs-return-484187-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Apr 21 15:27:02 2015
Return-Path: <gcc-bugs-return-484187-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 94679 invoked by alias); 21 Apr 2015 15:27:01 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 94628 invoked by uid 48); 21 Apr 2015 15:26:56 -0000
From: "vries at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/65823] [6 Regression] ICE in gcc.c-torture/execute/stdarg-2.c -O0/-O1 for arm
Date: Tue, 21 Apr 2015 15:27:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: vries at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65823-4-SIe4SC6Rjs@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65823-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65823-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-04/txt/msg01739.txt.bz2
Content-length: 371

https://gcc.gnu.org/bugzilla/show_bug.cgi?ide823

--- Comment #6 from vries at gcc dot gnu.org ---
(In reply to vries from comment #5)
> The nop introduced during gimplification is not meant to be there. This
> patch gets rid of it:

I've build an arm compiler with the patch, and tested execute.exp=stdarg-2.c.
Indeed the failure is gone, and the execution succeeds.


  parent reply	other threads:[~2015-04-21 14:18 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-15 22:29 [Bug target/65780] New: " jakub at gcc dot gnu.org
2015-04-15 22:30 ` [Bug target/65780] " jakub at gcc dot gnu.org
2015-04-15 23:01 ` james410 at cowgill dot org.uk
2015-04-15 23:13 ` hjl.tools at gmail dot com
2015-04-15 23:41 ` hjl.tools at gmail dot com
2015-04-16  0:37 ` amodra at gmail dot com
2015-04-16  2:10 ` hjl.tools at gmail dot com
2015-04-16  2:38 ` hjl.tools at gmail dot com
2015-04-16  3:22 ` [Bug target/65780] [5 Regression] Uninitialized common handling in PIE hjl.tools at gmail dot com
2015-04-16  3:28 ` [Bug target/65780] [5 Regression] Uninitialized common handling in executables amodra at gmail dot com
2015-04-16  4:32 ` hjl.tools at gmail dot com
2015-04-16  7:33 ` jakub at gcc dot gnu.org
2015-04-16  7:39 ` [Bug target/65780] [5/6 " rguenth at gcc dot gnu.org
2015-04-16  7:46 ` jakub at gcc dot gnu.org
2015-04-16 11:09 ` jakub at gcc dot gnu.org
2015-04-16 11:12 ` hjl.tools at gmail dot com
2015-04-16 11:20 ` hjl.tools at gmail dot com
2015-04-16 11:40 ` hjl.tools at gmail dot com
2015-04-16 11:44 ` jakub at gcc dot gnu.org
2015-04-16 11:46 ` hjl.tools at gmail dot com
2015-04-16 11:53 ` hjl.tools at gmail dot com
2015-04-16 12:12 ` jakub at gcc dot gnu.org
2015-04-16 12:33 ` hjl.tools at gmail dot com
2015-04-16 12:41 ` jakub at gcc dot gnu.org
2015-04-16 13:08 ` hjl.tools at gmail dot com
2015-04-16 13:10 ` jakub at gcc dot gnu.org
2015-04-16 13:16 ` hjl.tools at gmail dot com
2015-04-16 15:36 ` jakub at gcc dot gnu.org
2015-04-16 16:09 ` hjl.tools at gmail dot com
2015-04-16 18:14 ` law at redhat dot com
2015-04-16 18:33 ` hjl.tools at gmail dot com
2015-04-16 18:36 ` hjl.tools at gmail dot com
2015-04-16 19:20 ` law at redhat dot com
2015-04-16 19:28 ` hjl.tools at gmail dot com
2015-04-16 21:03 ` jakub at gcc dot gnu.org
2015-04-16 22:02 ` hjl.tools at gmail dot com
2015-04-17 16:12 ` law at redhat dot com
2015-04-17 16:26 ` [Bug target/65780] [5 " hjl.tools at gmail dot com
2015-04-17 16:30 ` jakub at gcc dot gnu.org
2015-04-17 16:36 ` hjl at gcc dot gnu.org
2015-04-17 16:37 ` hjl.tools at gmail dot com
2015-04-17 21:14 ` dominiq at lps dot ens.fr
2015-04-17 21:54 ` hjl at gcc dot gnu.org
2015-04-17 21:55 ` hjl at gcc dot gnu.org
2015-04-17 23:16 ` howarth.at.gcc at gmail dot com
2015-04-18  5:36 ` jakub at gcc dot gnu.org
2015-04-21 14:14 ` evstupac at gmail dot com
2015-04-21 14:18 ` jakub at gcc dot gnu.org [this message]
2015-05-11  7:09 ` jakub at gcc dot gnu.org
2015-05-11  7:14 ` jakub at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-65780-4-wvrRa67vWU@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).