From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14852 invoked by alias); 30 Apr 2013 01:47:05 -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 14801 invoked by uid 48); 30 Apr 2013 01:47:01 -0000 From: "dongsheng.song at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed Date: Tue, 30 Apr 2013 01:47:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: dongsheng.song at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-SW-Source: 2013-04/txt/msg02381.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D57120 Bug #: 57120 Summary: Plain C link with libgcc_s_sjlj-1.dll which not needed Classification: Unclassified Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassigned@gcc.gnu.org ReportedBy: dongsheng.song@gmail.com Here is example: $ cat t-w32.c long long do_div(long long a, long long b) { return a/b; } i686-w64-mingw32-gcc -shared -o t-w32.dll t-w32.c i686-w64-mingw32-objdump -x t-w32.dll | grep "DLL Name" gcc 4.8: DLL Name: libgcc_s_sjlj-1.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll gcc 4.7: DLL Name: KERNEL32.dll DLL Name: msvcrt.dll Then I investigate why the gcc 4.8 output dll use libgcc_s_sjlj-1.dll, I found t-w32.dll use the following symbols in libgcc_s_sjlj-1.dll: i686-w64-mingw32-objdump -x t-w32.dll | less DLL Name: libgcc_s_sjlj-1.dll vma: Hint/Ord Member-Name Bound-To c200 41 __divdi3 c20c 119 __udivdi3 c218 121 __umoddi3 I think this is a regress, isn't it ? I found in gcc/config/i386/mingw32.h: /* Include in the mingw32 libraries with libgcc */ #ifdef ENABLE_SHARED_LIBGCC #define SHARED_LIBGCC_SPEC " \ %{static|static-libgcc:-lgcc -lgcc_eh} \ %{!static: \ %{!static-libgcc: \ %{!shared: \ %{!shared-libgcc:-lgcc -lgcc_eh} \ %{shared-libgcc:-lgcc_s -lgcc} \ } \ %{shared:-lgcc_s -lgcc} \ } \ } " #else #define SHARED_LIBGCC_SPEC " -lgcc " #endif If I change '-lgcc_s -lgcc' to '-lgcc -lgcc_s', then gcc 4.8 will not use s= uch symbols like __divdi3 in libgcc_s_sjlj-1.dll, it back to gcc 4.7 behavior. Because both lib/libgcc_s.a (libgcc_s_sjlj-1.dll=EF=BC=89and lib/gcc/i686-w64-mingw32/4.8.1/libgcc.a export these symbols: ___divdi3 ___moddi3 ___moddi3 ... I think this change is hastily, should be rollback, or make libgcc_s${LIBGCC_EH_EXTN}-1.dll DO NOT export extra symbols which not owned their self. >>From gcc-bugs-return-421237-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Apr 30 05:34:46 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 16569 invoked by alias); 30 Apr 2013 05:34:46 -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 16518 invoked by uid 48); 30 Apr 2013 05:34:42 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/57098] ICE: in extract_insn, at recog.c:2154 (unrecognizable insn) with -mcmodel=large -msse4 and __builtin_shuffle() Date: Tue, 30 Apr 2013 05:34: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-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ubizjak at gmail dot com X-Bugzilla-Target-Milestone: 4.7.4 X-Bugzilla-Changed-Fields: URL Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 X-SW-Source: 2013-04/txt/msg02382.txt.bz2 Content-length: 3528 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57098 Uros Bizjak changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |http://gcc.gnu.org/ml/gcc-p | |atches/2013-04/msg01749.htm | |l --- Comment #3 from Uros Bizjak 2013-04-30 05:34:39 UTC --- Author: uros Date: Mon Apr 29 18:20:58 2013 New Revision: 198430 URL: http://gcc.gnu.org/viewcvs?rev=198430&root=gcc&view=rev Log: PR target/57098 * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory. testsuite/ChangeLog: PR target/57098 * gcc.target/i386/pr57098.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr57098.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog Author: uros Date: Mon Apr 29 22:16:04 2013 New Revision: 198434 URL: http://gcc.gnu.org/viewcvs?rev=198434&root=gcc&view=rev Log: Backport from mainline 2013-04-29 Uros Bizjak PR target/44578 * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y alternative. (*zero_extendsidi2): Ditto. Backport from mainline 2013-04-29 Uros Bizjak PR target/57098 * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory. testsuite/ChangeLog: Backport from mainline 2013-04-29 Uros Bizjak PR target/44578 * gcc.target/i386/pr44578.c: New test. Backport from mainline 2013-04-29 Uros Bizjak PR target/57098 * gcc.target/i386/pr57098.c: New test. Added: branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr44578.c branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr57098.c Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/config/i386/i386.c branches/gcc-4_8-branch/gcc/config/i386/i386.md branches/gcc-4_8-branch/gcc/config/i386/sse.md branches/gcc-4_8-branch/gcc/testsuite/ChangeLog Author: uros Date: Tue Apr 30 05:30:20 2013 New Revision: 198439 URL: http://gcc.gnu.org/viewcvs?rev=198439&root=gcc&view=rev Log: Backport from mainline 2013-04-29 Uros Bizjak PR target/44578 * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y alternative. (*zero_extendsidi2): Ditto. Backport from mainline 2013-04-29 Uros Bizjak PR target/57098 * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory. testsuite/ChangeLog: Backport from mainline 2013-04-29 Uros Bizjak PR target/44578 * gcc.target/i386/pr44578.c: New test. Backport from mainline 2013-04-29 Uros Bizjak PR target/57098 * gcc.target/i386/pr57098.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/pr44578.c branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/pr57098.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/config/i386/i386.c branches/gcc-4_7-branch/gcc/config/i386/i386.md branches/gcc-4_7-branch/gcc/testsuite/ChangeLog