# HG changeset patch # User Rob Landley # Date 1316806691 18000 # Node ID 5b79ffca554a195813002af207d7a17fc041cad2 # Parent bb26de4dfe47887f34fc2fdb26e978f5703b6884 Make ccwrap use --start-group and --end-group rather than specifying the same libraries multiple times. diff -r bb26de4dfe47 -r 5b79ffca554a sources/toys/ccwrap.c --- a/sources/toys/ccwrap.c Sun Sep 18 21:37:31 2011 -0500 +++ b/sources/toys/ccwrap.c Fri Sep 23 14:38:11 2011 -0500 @@ -449,17 +449,13 @@ // libgcc can call libc which can call libgcc + cc_argv[argcnt++] = "-Wl,--start-group,--as-needed"; cc_argv[argcnt++] = "-lgcc"; if (!use_static_linking && use_shared_libgcc) - cc_argv[argcnt++] = "-Wl,--as-needed,-lgcc_s,--no-as-needed"; + cc_argv[argcnt++] = "-lgcc_s"; else cc_argv[argcnt++] = "-lgcc_eh"; - cc_argv[argcnt++] = "-lc"; - - cc_argv[argcnt++] = "-lgcc"; - if (!use_static_linking && use_shared_libgcc) - cc_argv[argcnt++] = "-Wl,--as-needed,-lgcc_s,--no-as-needed"; - else cc_argv[argcnt++] = "-lgcc_eh"; + cc_argv[argcnt++] = "-Wl,--no-as-needed,--end-group"; } if (ctor_dtor) { cc_argv[argcnt++] = find_TSpath("%s/cc/lib/crtend%s", use_shared, 0);