Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.77
 
1.78
 
MAIN:gmcgarry:20080620063746
 
local.c
_>987987 #ifdef TLS
 988988 static int gottls;
 989989 #endif
<> 990+static int constructor;
  991+static int destructor;
990992 
<>991 -/* * Give target the opportunity of handling pragmas.
  993+/*
  994+ * Give target the opportunity of handling pragmas.
992995  */
 993996 int
 994997 mypragma(char **ary)
     
 !
9991002                 return 1;
 10001003         }
 10011004 #endif
<> 1005+        if (strcmp(ary[1], "constructor") == 0 || strcmp(ary[1], "init") == 0) {
  1006+                constructor = 1;
  1007+                return 1;
  1008+        }
  1009+        if (strcmp(ary[1], "destructor") == 0 || strcmp(ary[1], "fini") == 0) {
  1010+                destructor = 1;
  1011+                return 1;
  1012+        }
10021013         if (strcmp(ary[1], "section") || ary[2] == NULL)
 10031014                 return 0;
<> 1015+
10041016         nextsect = newstring(ary[2], strlen(ary[2]));
 10051017         return 1;
 10061018 }
     
 !
10171029                 sp->sflags |= STLS;
 10181030         gottls = 0;
 10191031 #endif
<> 1032+        if ((constructor || destructor) && (sp->sclass != PARAM)) {
  1033+                printf("\t.section .%ctors,\"aw\",@progbits\n",
  1034+                    constructor ? 'c' : 'd');
  1035+                printf("\t.p2align 2\n");
  1036+                printf("\t.long %s\n", exname(sp->sname));
  1037+                constructor = destructor = 0;
  1038+        }
<_10201039 }
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-09-16 19:29 +0200