summaryrefslogtreecommitdiff
path: root/6
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2016-03-05 16:52:26 -0800
committerOri Bernstein <ori@eigenstate.org>2016-03-05 16:52:26 -0800
commitcd073622d57cb4e2f3413b5658d1299745b51bc6 (patch)
tree478ad2a8c290be28ea0b0a0dae9381d604bd4b50 /6
parentf280df62936ff48565f8c83bf609726a6af9a690 (diff)
downloadmc-cd073622d57cb4e2f3413b5658d1299745b51bc6.tar.gz
Switch sections at end of type blob.
Diffstat (limited to '6')
-rw-r--r--6/gengas.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/6/gengas.c b/6/gengas.c
index 5f15c38..6008d82 100644
--- a/6/gengas.c
+++ b/6/gengas.c
@@ -305,7 +305,7 @@ static void writeblob(FILE *fd, Blob *b)
return;
if (b->lbl) {
if (b->iscomdat)
- fprintf(fd, ".section .text.%s%s,\"axG\",%s%s,comdat\n", Symprefix, b->lbl, Symprefix, b->lbl);
+ fprintf(fd, ".section .text.%s%s,\"aG\",%s%s,comdat\n", Symprefix, b->lbl, Symprefix, b->lbl);
if (b->isglobl)
fprintf(fd, ".globl %s%s\n", Symprefix, b->lbl);
fprintf(fd, "%s%s:\n", Symprefix, b->lbl);
@@ -324,6 +324,8 @@ static void writeblob(FILE *fd, Blob *b)
writeblob(fd, b->seq.sub[i]);
break;
}
+ if (b->lbl && b->iscomdat)
+ fprintf(fd, ".text\n");
}
/* genfunc requires all nodes in 'nl' to map cleanly to operations that are