From f5cf6ccaa322f1d291561c312808da64c1760e30 Mon Sep 17 00:00:00 2001 From: Walter Bright Date: Mon, 9 Jul 2012 18:52:39 -0700 Subject: [PATCH] more moving stuff to where it belongs --- src/backend/el.c | 5 ++++- src/backend/out.c | 1 + src/eh.c | 1 - src/msc.c | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/backend/el.c b/src/backend/el.c index 85ecbf00bd44..2ad633a0edb4 100644 --- a/src/backend/el.c +++ b/src/backend/el.c @@ -1634,6 +1634,7 @@ elem * el_ptr(symbol *s) * that data variable. */ symbol *sd = symboldata(Doffset, TYnptr); + sd->Sseg = DATA; Doffset += reftoident(DATA, Doffset, s, 0, CFoff); e = el_picvar(sd); return e; @@ -1974,7 +1975,9 @@ elem *el_convstring(elem *e) // in the DATA segment if (eecontext.EEcompile) - s = symboldata(Doffset,e->Ety); + { s = symboldata(Doffset,e->Ety); + s->Sseg = DATA; + } else s = out_readonly_sym(e->Ety,p,len); diff --git a/src/backend/out.c b/src/backend/out.c index 3b4d6cfb28f6..2655486f04b6 100644 --- a/src/backend/out.c +++ b/src/backend/out.c @@ -1458,6 +1458,7 @@ symbol *out_readonly_sym(tym_t ty, void *p, int len) alignOffset(DATA, sz); s = symboldata(Doffset,ty | mTYconst); + s->Sseg = DATA; obj_write_bytes(SegData[DATA], len, p); //printf("s->Sseg = %d:x%x\n", s->Sseg, s->Soffset); #endif diff --git a/src/eh.c b/src/eh.c index 9372b50e9d8c..ff9f451e2b15 100644 --- a/src/eh.c +++ b/src/eh.c @@ -55,7 +55,6 @@ symbol *except_gentables() assert(!usedalloca); symbol *s = symbol_generate(SCstatic,tsint); -// s->Sseg = UNKNOWN; symbol_keep(s); symbol_debug(s); diff --git a/src/msc.c b/src/msc.c index 25cbd17698b7..5cbe257da147 100644 --- a/src/msc.c +++ b/src/msc.c @@ -337,7 +337,7 @@ symbol *symboldata(targ_size_t offset,tym_t ty) symbol *s = symbol_generate(SClocstat, type_fake(ty)); s->Sfl = FLdata; s->Soffset = offset; - s->Sseg = DATA; + //s->Sseg = DATA; symbol_keep(s); // keep around return s; }