From 04de327e9ac7c1502716336e9bbfecf544b31126 Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 18 Jun 2023 09:05:15 +0200 Subject: ELF output static data --- ir.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ir.h') diff --git a/ir.h b/ir.h index 5187e4b..ca4fe47 100644 --- a/ir.h +++ b/ir.h @@ -16,12 +16,13 @@ union irtype { }; struct irdat { - uchar align : 7, mut : 1; + uchar align : 6, mut : 1, globl : 1; uint siz; union { vec_of(uchar) dat; uchar sdat[8]; }; + const char *name; struct symref { struct symref *next; const char *sym; @@ -207,7 +208,7 @@ union ref mkfltcon(enum irclass, double); #define intconval(r) ((r).t == RICON ? (r).i : conht[(r).i].i) #define fltconval(r) (conht[(r).i].f) union ref mksymref(const char *); -union ref mkdatref(uint siz, uint align, const void *, uint n, bool deref); +union ref mkdatref(const char *name, uint siz, uint align, const void *, uint n, bool deref); const char *xcon2sym(int ref); struct instr mkalloca(uint siz, uint align); void conputdat(struct irdat *, uint off, enum typetag t, const void *dat); -- cgit v1.2.3