From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87993 invoked by alias); 17 Apr 2015 16:17:23 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 87924 invoked by uid 48); 17 Apr 2015 16:17:17 -0000 From: "juergen.reuter at desy dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/65548] [5/6 Regression] gfc_conv_procedure_call Date: Fri, 17 Apr 2015 16:17:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: juergen.reuter at desy dot de X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: vehre at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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/msg01461.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D65548 --- Comment #17 from J=C3=BCrgen Reuter --- I applied the patch, and did a make in the built folder. I still get the IC= E. Or do I have to change the file gcc/fortran/trans-stmt.c and do a completely new built of the gcc/gfortran compiler suite? >>From gcc-bugs-return-483910-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Apr 17 16:24:03 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 101161 invoked by alias); 17 Apr 2015 16:24:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 100845 invoked by uid 55); 17 Apr 2015 16:23:59 -0000 From: "hjl at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/65780] [5/6 Regression] Uninitialized common handling in executables Date: Fri, 17 Apr 2015 16:24: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 at gcc dot gnu.org X-Bugzilla-Status: NEW 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: In-Reply-To: References: 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/msg01462.txt.bz2 Content-length: 2380 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65780 --- Comment #37 from hjl at gcc dot gnu.org --- Author: hjl Date: Fri Apr 17 16:23:24 2015 New Revision: 222184 URL: https://gcc.gnu.org/viewcvs?rev=222184&root=gcc&view=rev Log: Properly handle uninitialized common symbol Uninitialized common symbol behavior in executables is target and linker dependent. default_binds_local_p_3 is made public and updated to take an argument to indicate if the linker can guarantee that an uninitialized common symbol in the executable will still be defined (through COPY relocation) in the executable. If common symbol is local to executable, default_binds_local_p_3 will treat non-external variable as defined locally. default_binds_local_p_2 is changed to treat common symbol as local for non-PIE binaries. For i386, common symbol is local only for non-PIE binaries. For x86-64, common symbol is local only for non-PIE binaries or linker supports copy reloc in PIE binaries. If a target treats common symbol as local only for non-PIE binaries, it can define TARGET_BINDS_LOCAL_P as default_binds_local_p_2. gcc/ PR target/65780 * output.h (default_binds_local_p_3): New. * varasm.c (default_binds_local_p_3): Make it public. Take an argument to indicate if common symbol may be local. If common symbol may be local, treat non-external variable as defined locally. (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. (default_binds_local_p_1): Pass false to default_binds_local_p_3. * config/i386/i386.c (ix86_binds_local_p): New. (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with ix86_binds_local_p. gcc/testsuite/ PR target/65780 * gcc.dg/pr65780-1.c: New test. * gcc.dg/pr65780-2.c: Likewise. * gcc.target/i386/pr32219-9.c: Likewise. * gcc.target/i386/pr32219-1.c (xxx): Make it initialized common symbol. * gcc.target/i386/pr64317.c (c): Initialize. Added: trunk/gcc/testsuite/gcc.dg/pr65780-1.c trunk/gcc/testsuite/gcc.dg/pr65780-2.c trunk/gcc/testsuite/gcc.target/i386/pr32219-9.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/output.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/i386/pr32219-1.c trunk/gcc/testsuite/gcc.target/i386/pr64317.c trunk/gcc/varasm.c