]> Cypherpunks repositories - gostls13.git/commitdiff
ld: only set SNOPTRBSS during load
authorRuss Cox <rsc@golang.org>
Wed, 22 Feb 2012 04:04:38 +0000 (23:04 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 22 Feb 2012 04:04:38 +0000 (23:04 -0500)
dodata will convert to SNOPTRDATA if appropriate.
Should fix arm build (hope springs eternal).

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/5687074

src/cmd/5l/obj.c
src/cmd/6l/obj.c
src/cmd/8l/obj.c

index eb078511b61014e13aa30fa32b6c522ffbe662f4..a3f81616018af745a8aadec62d8285c538d18871 100644 (file)
@@ -551,12 +551,8 @@ loop:
                        s->dupok = 1;
                if(p->reg & RODATA)
                        s->type = SRODATA;
-               else if(p->reg & NOPTR) {
-                       if(s->np > 0)
-                               s->type = SNOPTRDATA;
-                       else
-                               s->type = SNOPTRBSS;
-               }
+               else if(p->reg & NOPTR)
+                       s->type = SNOPTRBSS;
                break;
 
        case ADATA:
index f441f3303d138f97a8470f749e043d86b75d2238..692cab7b8177edec6f7746e2885904f6c91b0f72 100644 (file)
@@ -567,12 +567,8 @@ loop:
                        s->dupok = 1;
                if(p->from.scale & RODATA)
                        s->type = SRODATA;
-               else if(p->from.scale & NOPTR) {
-                       if(s->np > 0)
-                               s->type = SNOPTRDATA;
-                       else
-                               s->type = SNOPTRBSS;
-               }
+               else if(p->from.scale & NOPTR)
+                       s->type = SNOPTRBSS;
                goto loop;
 
        case ADATA:
index ccb4f7c23ab832dcff9e34f195bbf02f32994a19..af4bc844fb2f5c3ff75543b9d546182046917de9 100644 (file)
@@ -563,7 +563,7 @@ loop:
                        s->type = SBSS;
                        s->size = 0;
                }
-               if(s->type != SBSS && s->type != SNOPTRDATA && !s->dupok) {
+               if(s->type != SBSS && s->type != SNOPTRBSS && !s->dupok) {
                        diag("%s: redefinition: %s in %s",
                                pn, s->name, TNAME);
                        s->type = SBSS;
@@ -576,7 +576,7 @@ loop:
                if(p->from.scale & RODATA)
                        s->type = SRODATA;
                else if(p->from.scale & NOPTR)
-                       s->type = SNOPTRDATA;
+                       s->type = SNOPTRBSS;
                goto loop;
 
        case ADATA: