diff options
| author | Russ Cox <rsc@golang.org> | 2009-10-03 10:37:12 -0700 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2009-10-03 10:37:12 -0700 |
| commit | 1bb8f19f5e9016a9eb118b8aba2b5689b4505812 (patch) | |
| tree | 7b69b0974f4999bac76d11abed2071a2dc9e97aa /src/cmd/6l/span.c | |
| parent | 6b7539d607f26a1b1cd3eda71fc123ad4d52a133 (diff) | |
| download | golang-1bb8f19f5e9016a9eb118b8aba2b5689b4505812.tar.gz | |
8c, 8l dynamic loading support.
better mach binaries.
cgo working on darwin+linux amd64+386.
eliminated context switches - pi is 30x faster.
add libcgo to build.
on snow leopard:
- non-cgo binaries work; all tests pass.
- cgo binaries work on amd64 but not 386.
R=r
DELTA=2031 (1316 added, 626 deleted, 89 changed)
OCL=35264
CL=35304
Diffstat (limited to 'src/cmd/6l/span.c')
| -rw-r--r-- | src/cmd/6l/span.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cmd/6l/span.c b/src/cmd/6l/span.c index f1eafff00..18bf8cc0c 100644 --- a/src/cmd/6l/span.c +++ b/src/cmd/6l/span.c @@ -237,6 +237,12 @@ asmsym(void) putsymb(s->name, 'D', s->value+INITDAT, s->version, s->gotype); continue; + case SMACHO: + if(!s->reachable) + continue; + putsymb(s->name, 'D', s->value+INITDAT+datsize+bsssize, s->version, s->gotype); + continue; + case SBSS: if(!s->reachable) continue; @@ -715,6 +721,11 @@ vaddr(Adr *a) v += INITTEXT; /* TO DO */ v += s->value; break; + case SMACHO: + if(!s->reachable) + sysfatal("unreachable symbol in vaddr - %s", s->name); + v += INITDAT + datsize + s->value; + break; default: if(!s->reachable) diag("unreachable symbol in vaddr - %s", s->name); |
