From c5444a89373c492b819d41c9d0047089e0bc04be Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Sun, 2 Sep 2012 04:50:58 +0800 Subject: [PATCH] cmd/ld: support zero-filled section for Mach-O files R=golang-dev, r, dave, rsc CC=golang-dev https://golang.org/cl/6492069 --- src/cmd/ld/ldmacho.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cmd/ld/ldmacho.c b/src/cmd/ld/ldmacho.c index 54126d5862..c02d1e7f82 100644 --- a/src/cmd/ld/ldmacho.c +++ b/src/cmd/ld/ldmacho.c @@ -573,9 +573,14 @@ ldmacho(Biobuf *f, char *pkg, int64 len, char *pn) goto bad; } free(name); - s->p = dat + sect->addr - c->seg.vmaddr; + s->np = sect->size; s->size = s->np; + if((sect->flags & 0xff) == 1) // S_ZEROFILL + s->p = mal(s->size); + else { + s->p = dat + sect->addr - c->seg.vmaddr; + } if(strcmp(sect->segname, "__TEXT") == 0) { if(strcmp(sect->name, "__text") == 0) -- 2.48.1