summaryrefslogtreecommitdiff
path: root/src/cmd/6l/pass.c
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-09-13 13:13:44 +0200
committerOndřej Surý <ondrej@sury.org>2011-09-13 13:13:44 +0200
commit9464a0c36318f8a801c07d6874bd0cea40f12504 (patch)
treef0178491c19d4f1ebc7b92eede86690998466480 /src/cmd/6l/pass.c
parentba9fda6068cfadd42db0b152fdca7e8b67aaf77d (diff)
parent5ff4c17907d5b19510a62e08fd8d3b11e62b431d (diff)
downloadgolang-9464a0c36318f8a801c07d6874bd0cea40f12504.tar.gz
Merge commit 'upstream/60' into debian-sid
Diffstat (limited to 'src/cmd/6l/pass.c')
-rw-r--r--src/cmd/6l/pass.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/cmd/6l/pass.c b/src/cmd/6l/pass.c
index 0b0ee1253..d9e0b2fc1 100644
--- a/src/cmd/6l/pass.c
+++ b/src/cmd/6l/pass.c
@@ -294,7 +294,8 @@ patch(void)
p->from.offset = 0x58;
}
}
- if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd) {
+ if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd
+ || HEADTYPE == Hopenbsd) {
// ELF uses FS instead of GS.
if(p->from.type == D_INDIR+D_GS)
p->from.type = D_INDIR+D_FS;
@@ -402,8 +403,6 @@ dostkoff(void)
pmorestack[i] = symmorestack[i]->text;
}
- autoffset = 0;
- deltasp = 0;
for(cursym = textp; cursym != nil; cursym = cursym->next) {
if(cursym->text == nil || cursym->text->link == nil)
continue;
@@ -415,14 +414,14 @@ dostkoff(void)
autoffset = 0;
q = P;
- q1 = P;
if((p->from.scale & NOSPLIT) && autoffset >= StackSmall)
diag("nosplit func likely to overflow stack");
if(!(p->from.scale & NOSPLIT)) {
p = appendp(p); // load g into CX
p->as = AMOVQ;
- if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd) // ELF uses FS
+ if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd
+ || HEADTYPE == Hopenbsd) // ELF uses FS
p->from.type = D_INDIR+D_FS;
else
p->from.type = D_INDIR+D_GS;
@@ -471,7 +470,6 @@ dostkoff(void)
p = appendp(p);
p->as = ANOP;
q1->pcond = p;
- q1 = P;
}
if(autoffset < StackBig) { // do we need to call morestack?
@@ -611,7 +609,6 @@ dostkoff(void)
p = appendp(p);
p->as = ANOP;
q1->pcond = p;
- q1 = P;
}
for(; p != P; p = p->link) {