From: Jim McGrath Date: Tue, 12 Oct 2010 20:52:17 +0000 (-0400) Subject: 6l: work with OS X nm/otool X-Git-Tag: weekly.2010-10-13~16 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8a1b2e59ef553228a60d6799a2e001761e1e8ca8;p=gostls13.git 6l: work with OS X nm/otool 6l was skipping emitting the (2 byte) symbol table if there were no imported or exported symbols. You can't just drop the symbol table entirely - the linker dies if you have a linkedit section but no table. You can omit the linkedit section or both the linkedit and the dlyd parts in the right circumstances, but that seems much more risky to me. R=rsc CC=golang-dev https://golang.org/cl/2421042 --- diff --git a/src/cmd/ld/macho.c b/src/cmd/ld/macho.c index a3d302401e..799daf87ae 100644 --- a/src/cmd/ld/macho.c +++ b/src/cmd/ld/macho.c @@ -410,7 +410,7 @@ domacholink(void) uint64 val; linkoff = 0; - if(nlinkdata > 0) { + if(nlinkdata > 0 || nstrtab > 0) { linkoff = rnd(HEADR+textsize, INITRND) + rnd(datsize, INITRND); seek(cout, linkoff, 0);