public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed
@ 2013-04-30  1:47 dongsheng.song at gmail dot com
  2013-04-30 10:42 ` [Bug target/57120] " ktietz at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: dongsheng.song at gmail dot com @ 2013-04-30  1:47 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

             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 such
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)and
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: <gcc-bugs-return-421237-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
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: <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 16518 invoked by uid 48); 30 Apr 2013 05:34:42 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
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: <bug-57098-4-rDzQmTkBBn@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-57098-4@http.gcc.gnu.org/bugzilla/>
References: <bug-57098-4@http.gcc.gnu.org/bugzilla/>
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?idW098

Uros Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-p
                   |                            |atches/2013-04/msg01749.htm
                   |                            |l

--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 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\x198430&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\x198434&root=gcc&view=rev
Log:
    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    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  <ubizjak@gmail.com>

    PR target/57098
    * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.

testsuite/ChangeLog:

    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    PR target/44578
    * gcc.target/i386/pr44578.c: New test.

    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    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\x198439&root=gcc&view=rev
Log:
    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    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  <ubizjak@gmail.com>

    PR target/57098
    * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.

testsuite/ChangeLog:

    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    PR target/44578
    * gcc.target/i386/pr44578.c: New test.

    Backport from mainline
    2013-04-29  Uros Bizjak  <ubizjak@gmail.com>

    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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/57120] Plain C link with libgcc_s_sjlj-1.dll which not needed
  2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
@ 2013-04-30 10:42 ` ktietz at gcc dot gnu.org
  2013-04-30 10:52 ` dongsheng.song at gmail dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ktietz at gcc dot gnu.org @ 2013-04-30 10:42 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

Kai Tietz <ktietz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |ktietz at gcc dot gnu.org
         Resolution|                            |INVALID

--- Comment #1 from Kai Tietz <ktietz at gcc dot gnu.org> 2013-04-30 10:42:28 UTC ---
No this change wasn't hastily nor wrong. Actual the change makes things
compliant to logic already used for cygwin for years.  Additional it fixed a
quirk there was about eh-code sometimes not using shared version, if it actual
was necessary to.
The point is, if you want to avoid dependency to DLL libgcc version, then
please use support static option for it.  Otherwise you might get dependencies
to the shared version, and there is nothing wrong about that.

I admit that some functions might be added to shared version, which would be
for pe-coff better be placed into the pure static part of libgcc.  But well
that is an enhancment issue and not a bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/57120] Plain C link with libgcc_s_sjlj-1.dll which not needed
  2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
  2013-04-30 10:42 ` [Bug target/57120] " ktietz at gcc dot gnu.org
@ 2013-04-30 10:52 ` dongsheng.song at gmail dot com
  2013-04-30 11:03 ` ktietz at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: dongsheng.song at gmail dot com @ 2013-04-30 10:52 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

Dongsheng Song <dongsheng.song at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |

--- Comment #2 from Dongsheng Song <dongsheng.song at gmail dot com> 2013-04-30 10:52:52 UTC ---
(In reply to comment #1)
> No this change wasn't hastily nor wrong. Actual the change makes things
> compliant to logic already used for cygwin for years.  Additional it fixed a
> quirk there was about eh-code sometimes not using shared version, if it actual
> was necessary to.
> The point is, if you want to avoid dependency to DLL libgcc version, then
> please use support static option for it.  Otherwise you might get dependencies
> to the shared version, and there is nothing wrong about that.
> 
> I admit that some functions might be added to shared version, which would be
> for pe-coff better be placed into the pure static part of libgcc.  But well
> that is an enhancment issue and not a bug.

It's a regress to gcc 4.7, it't it ?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/57120] Plain C link with libgcc_s_sjlj-1.dll which not needed
  2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
  2013-04-30 10:42 ` [Bug target/57120] " ktietz at gcc dot gnu.org
  2013-04-30 10:52 ` dongsheng.song at gmail dot com
@ 2013-04-30 11:03 ` ktietz at gcc dot gnu.org
  2013-04-30 11:53 ` dongsheng.song at gmail dot com
  2013-04-30 13:34 ` ktietz at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ktietz at gcc dot gnu.org @ 2013-04-30 11:03 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

Kai Tietz <ktietz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #3 from Kai Tietz <ktietz at gcc dot gnu.org> 2013-04-30 11:03:30 UTC ---
Would you please stop to change status?
As I said, change is intended, it is no regression, it is actual a fix.  In
maximum it is a difference in behavior.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/57120] Plain C link with libgcc_s_sjlj-1.dll which not needed
  2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
                   ` (2 preceding siblings ...)
  2013-04-30 11:03 ` ktietz at gcc dot gnu.org
@ 2013-04-30 11:53 ` dongsheng.song at gmail dot com
  2013-04-30 13:34 ` ktietz at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: dongsheng.song at gmail dot com @ 2013-04-30 11:53 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

--- Comment #4 from Dongsheng Song <dongsheng.song at gmail dot com> 2013-04-30 11:53:35 UTC ---
libgcc_s_sjlj-1.dll export the following symbos:

[Ordinal/Name Pointer] Table
        [   0] _Unwind_Backtrace
        [   1] _Unwind_DeleteException
        [   2] _Unwind_FindEnclosingFunction
        [   3] _Unwind_Find_FDE
        [   4] _Unwind_GetCFA
        [   5] _Unwind_GetDataRelBase
        [   6] _Unwind_GetGR
        [   7] _Unwind_GetIP
        [   8] _Unwind_GetIPInfo
        [   9] _Unwind_GetLanguageSpecificData
        [  10] _Unwind_GetRegionStart
        [  11] _Unwind_GetTextRelBase
        [  12] _Unwind_SetGR
        [  13] _Unwind_SetIP
        [  14] _Unwind_SjLj_ForcedUnwind
        [  15] _Unwind_SjLj_RaiseException
        [  16] _Unwind_SjLj_Register
        [  17] _Unwind_SjLj_Resume
        [  18] _Unwind_SjLj_Resume_or_Rethrow
        [  19] _Unwind_SjLj_Unregister
        [  20] __absvdi2
        [  21] __absvsi2
        [  22] __addtf3
        [  23] __addvdi3
        [  24] __addvsi3
        [  25] __ashldi3
        [  26] __ashrdi3
        [  27] __bswapdi2
        [  28] __bswapsi2
        [  29] __clear_cache
        [  30] __clrsbdi2
        [  31] __clrsbsi2
        [  32] __clzdi2
        [  33] __clzsi2
        [  34] __cmpdi2
        [  35] __ctzdi2
        [  36] __ctzsi2
        [  37] __deregister_frame
        [  38] __deregister_frame_info
        [  39] __deregister_frame_info_bases
        [  40] __divdc3
        [  41] __divdi3
        [  42] __divsc3
        [  43] __divtc3
        [  44] __divtf3
        [  45] __divxc3
        [  46] __emutls_get_address
        [  47] __emutls_register_common
        [  48] __enable_execute_stack
        [  49] __eqtf2
        [  50] __extenddftf2
        [  51] __extendsftf2
        [  52] __extendxftf2
        [  53] __ffsdi2
        [  54] __ffssi2
        [  55] __fixdfdi
        [  56] __fixsfdi
        [  57] __fixtfdi
        [  58] __fixtfsi
        [  59] __fixunsdfdi
        [  60] __fixunsdfsi
        [  61] __fixunssfdi
        [  62] __fixunssfsi
        [  63] __fixunstfdi
        [  64] __fixunstfsi
        [  65] __fixunsxfdi
        [  66] __fixunsxfsi
        [  67] __fixxfdi
        [  68] __floatdidf
        [  69] __floatdisf
        [  70] __floatditf
        [  71] __floatdixf
        [  72] __floatsitf
        [  73] __floatundidf
        [  74] __floatundisf
        [  75] __floatunditf
        [  76] __floatundixf
        [  77] __floatunsitf
        [  78] __gcc_personality_sj0
        [  79] __getf2
        [  80] __gttf2
        [  81] __letf2
        [  82] __lshrdi3
        [  83] __lttf2
        [  84] __moddi3
        [  85] __muldc3
        [  86] __muldi3
        [  87] __mulsc3
        [  88] __multc3
        [  89] __multf3
        [  90] __mulvdi3
        [  91] __mulvsi3
        [  92] __mulxc3
        [  93] __negdi2
        [  94] __negtf2
        [  95] __negvdi2
        [  96] __negvsi2
        [  97] __netf2
        [  98] __paritydi2
        [  99] __paritysi2
        [ 100] __popcountdi2
        [ 101] __popcountsi2
        [ 102] __powidf2
        [ 103] __powisf2
        [ 104] __powitf2
        [ 105] __powixf2
        [ 106] __register_frame
        [ 107] __register_frame_info
        [ 108] __register_frame_info_bases
        [ 109] __register_frame_info_table
        [ 110] __register_frame_info_table_bases
        [ 111] __register_frame_table
        [ 112] __subtf3
        [ 113] __subvdi3
        [ 114] __subvsi3
        [ 115] __trunctfdf2
        [ 116] __trunctfsf2
        [ 117] __trunctfxf2
        [ 118] __ucmpdi2
        [ 119] __udivdi3
        [ 120] __udivmoddi4
        [ 121] __umoddi3
        [ 122] __unordtf2

If I use unwind-sjlj.rc (unwind-seh.rc, or unwind-dw2.rc) to make sure
libgcc_s_sjlj-1.dll only export _Unwind_* symbols, is it acceptable ?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/57120] Plain C link with libgcc_s_sjlj-1.dll which not needed
  2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
                   ` (3 preceding siblings ...)
  2013-04-30 11:53 ` dongsheng.song at gmail dot com
@ 2013-04-30 13:34 ` ktietz at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ktietz at gcc dot gnu.org @ 2013-04-30 13:34 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120

--- Comment #5 from Kai Tietz <ktietz at gcc dot gnu.org> 2013-04-30 13:34:25 UTC ---
(In reply to comment #4)
> libgcc_s_sjlj-1.dll export the following symbos:
> 
> [Ordinal/Name Pointer] Table
>         [   0] _Unwind_Backtrace
>         [   1] _Unwind_DeleteException
>         [   2] _Unwind_FindEnclosingFunction
>         [   3] _Unwind_Find_FDE
>         [   4] _Unwind_GetCFA
>         [   5] _Unwind_GetDataRelBase
>         [   6] _Unwind_GetGR
>         [   7] _Unwind_GetIP
>         [   8] _Unwind_GetIPInfo
>         [   9] _Unwind_GetLanguageSpecificData
>         [  10] _Unwind_GetRegionStart
>         [  11] _Unwind_GetTextRelBase
>         [  12] _Unwind_SetGR
>         [  13] _Unwind_SetIP
>         [  14] _Unwind_SjLj_ForcedUnwind
>         [  15] _Unwind_SjLj_RaiseException
>         [  16] _Unwind_SjLj_Register
>         [  17] _Unwind_SjLj_Resume
>         [  18] _Unwind_SjLj_Resume_or_Rethrow
>         [  19] _Unwind_SjLj_Unregister
>         [  20] __absvdi2
>         [  21] __absvsi2
>         [  22] __addtf3
>         [  23] __addvdi3
>         [  24] __addvsi3
>         [  25] __ashldi3
>         [  26] __ashrdi3
>         [  27] __bswapdi2
>         [  28] __bswapsi2
>         [  29] __clear_cache
>         [  30] __clrsbdi2
>         [  31] __clrsbsi2
>         [  32] __clzdi2
>         [  33] __clzsi2
>         [  34] __cmpdi2
>         [  35] __ctzdi2
>         [  36] __ctzsi2
>         [  37] __deregister_frame
>         [  38] __deregister_frame_info
>         [  39] __deregister_frame_info_bases
>         [  40] __divdc3
>         [  41] __divdi3
>         [  42] __divsc3
>         [  43] __divtc3
>         [  44] __divtf3
>         [  45] __divxc3
>         [  46] __emutls_get_address
>         [  47] __emutls_register_common
>         [  48] __enable_execute_stack
>         [  49] __eqtf2
>         [  50] __extenddftf2
>         [  51] __extendsftf2
>         [  52] __extendxftf2
>         [  53] __ffsdi2
>         [  54] __ffssi2
>         [  55] __fixdfdi
>         [  56] __fixsfdi
>         [  57] __fixtfdi
>         [  58] __fixtfsi
>         [  59] __fixunsdfdi
>         [  60] __fixunsdfsi
>         [  61] __fixunssfdi
>         [  62] __fixunssfsi
>         [  63] __fixunstfdi
>         [  64] __fixunstfsi
>         [  65] __fixunsxfdi
>         [  66] __fixunsxfsi
>         [  67] __fixxfdi
>         [  68] __floatdidf
>         [  69] __floatdisf
>         [  70] __floatditf
>         [  71] __floatdixf
>         [  72] __floatsitf
>         [  73] __floatundidf
>         [  74] __floatundisf
>         [  75] __floatunditf
>         [  76] __floatundixf
>         [  77] __floatunsitf
>         [  78] __gcc_personality_sj0
>         [  79] __getf2
>         [  80] __gttf2
>         [  81] __letf2
>         [  82] __lshrdi3
>         [  83] __lttf2
>         [  84] __moddi3
>         [  85] __muldc3
>         [  86] __muldi3
>         [  87] __mulsc3
>         [  88] __multc3
>         [  89] __multf3
>         [  90] __mulvdi3
>         [  91] __mulvsi3
>         [  92] __mulxc3
>         [  93] __negdi2
>         [  94] __negtf2
>         [  95] __negvdi2
>         [  96] __negvsi2
>         [  97] __netf2
>         [  98] __paritydi2
>         [  99] __paritysi2
>         [ 100] __popcountdi2
>         [ 101] __popcountsi2
>         [ 102] __powidf2
>         [ 103] __powisf2
>         [ 104] __powitf2
>         [ 105] __powixf2
>         [ 106] __register_frame
>         [ 107] __register_frame_info
>         [ 108] __register_frame_info_bases
>         [ 109] __register_frame_info_table
>         [ 110] __register_frame_info_table_bases
>         [ 111] __register_frame_table
>         [ 112] __subtf3
>         [ 113] __subvdi3
>         [ 114] __subvsi3
>         [ 115] __trunctfdf2
>         [ 116] __trunctfsf2
>         [ 117] __trunctfxf2
>         [ 118] __ucmpdi2
>         [ 119] __udivdi3
>         [ 120] __udivmoddi4
>         [ 121] __umoddi3
>         [ 122] __unordtf2
> 
> If I use unwind-sjlj.rc (unwind-seh.rc, or unwind-dw2.rc) to make sure
> libgcc_s_sjlj-1.dll only export _Unwind_* symbols, is it acceptable ?

No, actual all functions about Unwind, emutls, and register (deregister) have
to be part of the DLL.  The math-functions here might be candidates for the
pure static-version only.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-04-30 13:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-30  1:47 [Bug c/57120] New: Plain C link with libgcc_s_sjlj-1.dll which not needed dongsheng.song at gmail dot com
2013-04-30 10:42 ` [Bug target/57120] " ktietz at gcc dot gnu.org
2013-04-30 10:52 ` dongsheng.song at gmail dot com
2013-04-30 11:03 ` ktietz at gcc dot gnu.org
2013-04-30 11:53 ` dongsheng.song at gmail dot com
2013-04-30 13:34 ` ktietz at gcc dot gnu.org

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).