From f109558b0c9281a22159458f1a9986ae7932ed64 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 19 Jun 2017 20:56:47 +0200 Subject: 8l, 6l: get .frame offset right undoing $-4 hack --- sys/src/cmd/6l/pass.c | 4 +++- sys/src/cmd/8l/pass.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/src/cmd/6l/pass.c b/sys/src/cmd/6l/pass.c index e21171bfb..2062eed5c 100644 --- a/sys/src/cmd/6l/pass.c +++ b/sys/src/cmd/6l/pass.c @@ -507,8 +507,10 @@ dostkoff(void) if(p->as == ATEXT) { curtext = p; autoffset = p->to.offset; - if(autoffset < 0) + if(autoffset < 0) { autoffset = 0; + p->to.offset = 0; + } if(autoffset) { p = appendp(p); p->as = AADJSP; diff --git a/sys/src/cmd/8l/pass.c b/sys/src/cmd/8l/pass.c index 6de027aff..26cbe30c6 100644 --- a/sys/src/cmd/8l/pass.c +++ b/sys/src/cmd/8l/pass.c @@ -492,8 +492,10 @@ dostkoff(void) if(p->as == ATEXT) { curtext = p; autoffset = p->to.offset; - if(autoffset < 0) + if(autoffset < 0) { autoffset = 0; + p->to.offset = 0; + } if(autoffset) { p = appendp(p); p->as = AADJSP; -- cgit v1.2.3