qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 2e38c86af6c91bfb23dfb06b517a00c11fd4c1b3
parent 00a30954aca97004cb6f586bdeeabb488f1e3c3f
Author: Quentin Carbonneaux <quentin@c9x.me>
Date:   Fri,  9 Sep 2022 17:54:06 +0200

do not drop relocation kind in alias analysis

Diffstat:
Malias.c | 1+
Mall.h | 1+
Mload.c | 2+-
3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/alias.c b/alias.c @@ -19,6 +19,7 @@ getalias(Alias *a, Ref r, Fn *fn) if (c->type == CAddr) { a->type = ASym; a->label = c->label; + a->rel = c->rel; } else a->type = ACon; a->offset = c->bits.i; diff --git a/all.h b/all.h @@ -282,6 +282,7 @@ struct Alias { Ref base; uint32_t label; int64_t offset; + int rel; Alias *slot; }; diff --git a/load.c b/load.c @@ -155,7 +155,7 @@ load(Slice sl, bits msk, Loc *l) c.type = CAddr; c.label = a->label; c.bits.i = a->offset; - c.rel = RelDef; + c.rel = a->rel; r = newcon(&c, curf); break; }