Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.234
 
1.235
 
MAIN:ragge:20120806142533
 
cc.c
_>525525                         if ((t = argnxt(argp, "-Wl,"))) {
 526526                                 u = strtok(t, ",");
 527527                                 do {
<>528 -                                        strlist_append(&middle_linker_flags, u);
  528+                                        strlist_append(&inputs, u);
529529                                 } while ((u = strtok(NULL, ",")) != NULL);
 530530                         } else if ((t = argnxt(argp, "-Wa,"))) {
 531531                                 u = strtok(t, ",");
     
 !
768768                         break;
 769769 
 770770                 case 's':
<>771 -                        if (strcmp(argp, "-shared") == 0) {
  771+                        if (match(argp, "-shared")) {
772772                                 shared = 1;
<>773 -                        } else if (strcmp(argp, "-static") == 0) {
  773+                        } else if (match(argp, "-static")) {
774774                                 Bstatic = 1;
 775775                         } else if (match(argp, "-symbolic")) {
 776776                                 strlist_append(&middle_linker_flags,
     
 !
16851685 #ifndef MSLINKER
 16861686         { &vflag, 1, "-v" },
 16871687 #endif
<>1688 -#if !defined(os_sunos) && !defined(os_win32) && !defined(os_darwin)
 1689 -        { &one, 1, "-X" },
 1690 -#endif
16911688 #ifdef os_darwin
 16921689         { &shared, 1, "-dylib" },
 16931690 #elif defined(os_win32)
 16941691         { &shared, 1, "-Bdynamic" },
<>1695 -else
  1692+#else
16961693         { &shared, 1, "-shared" },
 16971694 #endif
 16981695 #if !defined(os_sunos) && !defined(os_win32)
 16991696 #ifndef os_darwin
 17001697         { &shared, 0, "-d" },
 17011698 #endif
<>1702 -        { &rflag, 1, "-r" },
 1703 -        { &rflag, 0, "-e" },
 1704 -        { &rflag, 0, STARTLABEL },
17051699 #endif
 17061700 #ifdef os_darwin
 17071701         { &Bstatic, 1, "-static" },
     
 !
17361730         int i;
 17371731 
 17381732         cksetflags(ldflgcheck, &early_linker_flags, 'a');
<>1739 -        if (Bstatic == 0)
  1733+        if (Bstatic == 0 && shared == 0 && rflag == 0) {
17401734                 for (i = 0; dynlinker[i]; i++)
 17411735                         strlist_append(&early_linker_flags, dynlinker[i]);
<> 1736+                strlist_append(&early_linker_flags, "-e");
  1737+                strlist_append(&early_linker_flags, STARTLABEL);
  1738+        }
  1739+        if (shared == 0 && rflag)
  1740+                strlist_append(&early_linker_flags, "-r");
17421741         if (sysroot && *sysroot)
 17431742                 strlist_append(&early_linker_flags, cat("--sysroot=", sysroot));
 17441743         if (!nostdlib) {
     
 !
17641763                 }
 17651764         }
 17661765         if (!nostartfiles) {
<>1767 -                if (shared) {
 1768 -                        strap(&middle_linker_flags, &crtdirs, CRTBEGIN_S, 'p');
 1769 -                        strap(&late_linker_flags, &crtdirs, CRTEND_S, 'a');
 1770 -                } else {
 1771 -                        if (Bstatic) {
 1772 -                                b = CRTBEGIN_T;
 1773 -                                e = CRTEND_T;
 1774 -#ifdef notyet
 1775 -                        } else if (pieflag) {
 1776 -                                b = CRTBEGIN_S;
 1777 -                                e = CRTEND_S;
 1778 -#endif
 1779 -                        }  else {
 1780 -                                b = CRTBEGIN;
 1781 -                                e = CRTEND;
 1782 -                        }
 1783 -                        strap(&middle_linker_flags, &crtdirs, b, 'p');
 1784 -                        strap(&late_linker_flags, &crtdirs, e, 'a');
 1785 -                        strap(&middle_linker_flags, &crtdirs, CRTI, 'p');
 1786 -                        strap(&late_linker_flags, &crtdirs, CRTN, 'a');
  1766+                if (Bstatic) {
  1767+                        b = CRTBEGIN_T;
  1768+                        e = CRTEND_T;
  1769+                } else if (shared /* || pieflag */) {
  1770+                        b = CRTBEGIN_S;
  1771+                        e = CRTEND_S;
  1772+                }  else {
  1773+                        b = CRTBEGIN;
  1774+                        e = CRTEND;
  1775+                }
  1776+                strap(&middle_linker_flags, &crtdirs, b, 'p');
  1777+                strap(&late_linker_flags, &crtdirs, e, 'a');
  1778+                strap(&middle_linker_flags, &crtdirs, CRTI, 'p');
  1779+                strap(&late_linker_flags, &crtdirs, CRTN, 'a');
  1780+                if (shared == 0) {
<_17871781                         if (pgflag)
 17881782                                 b = GCRT0;
 17891783 #ifdef notyet
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-11-01 02:55 +0100