Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.57
 
1.58
 
MAIN:ragge:20110623133823
 
local.c
_>846846 {
 847847 }
 848848 
<>849 -int tbss;
 850 -
851849 /* make a common declaration for id, if reasonable */
 852850 void
 853851 defzero(struct symtab *sp)
 854852 {
<>855 -        TWORD t;
 856 -        int off;
  853+        int off, al;
857854         char *name;
 858855 
<>859 -        if (sp->sflags & STLS) {
 860 -                if (sp->sclass == EXTERN)
 861 -                        sp->sclass = EXTDEF;
 862 -                tbss = 1;
 863 -                for (t = sp->stype; ISARY(t); t = DECREF(t))
 864 -                        ;
 865 -                if (t == STRTY || t == UNIONTY) {
 866 -                        beginit(sp);
 867 -                        endinit();
 868 -                } else
 869 -                        simpleinit(sp, bcon(0));
 870 -                return;
 871 -        }
 872 -
873856         if ((name = sp->soname) == NULL)
 874857                 name = exname(sp->sname);
 875858         off = tsize(sp->stype, sp->sdf, sp->sap);
<>876 -        off = (off+(SZCHAR-1))/SZCHAR;
 877 -        if (attr_find(sp->sap, GCC_ATYP_SECTION)) {
 878 -                /* let the "other" code handle sections */
 879 -                if (sp->sclass != STATIC)
 880 -                        printf("        .globl %s\n", name);
 881 -                defloc(sp);
 882 -#ifdef MACHOABI
 883 -                printf("\t.space %d\n", off);
 884 -#else
 885 -                printf("\t.zero %d\n", off);
 886 -#endif
 887 -                return;
 888 -        }
  859+        SETOFF(off,SZCHAR);
  860+        off /= SZCHAR;
  861+        al = talign(sp->stype, sp->sap)/SZCHAR;
889862 
<>890 -#ifdef GCC_COMPAT
 891 -        {
 892 -                struct attr *ga;
 893 -                if ((ga = attr_find(sp->sap, GCC_ATYP_VISIBILITY)) &&
 894 -                    strcmp(ga->sarg(0), "default"))
 895 -                        printf("\t.%s %s\n", ga->sarg(0), name);
 896 -        }
 897 -#endif
 898 -        printf("        .%scomm ", sp->sclass == STATIC ? "l" : "");
  863+        if (sp->sclass == STATIC)
  864+                printf("\t.local %s\n", name);
  865+        printf("\t.comm ");
899866         if (sp->slevel == 0) {
<>900 -                printf("%s,0%o\n", name, off);
  867+                printf("%s,0%o,%d\n", name, off, al);
901868         } else
<>902 -                printf(LABFMT ",0%o\n", sp->soffset, off);
  869+                printf(LABFMT ",0%o,%d\n", sp->soffset, off, al);
<_903870 }
 904871 
 905872 static char *
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-30 17:57 +0200