aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/ld
diff options
context:
space:
mode:
authorYuval Pavel Zholkover <paulzhol@gmail.com>2010-12-06 16:38:28 -0500
committerRuss Cox <rsc@golang.org>2010-12-06 16:38:28 -0500
commit8221eb910383e27141a4e0482588289e50c574ab (patch)
treed529f172dd5a41c0e2a796f1336fcd621e0877f3 /src/cmd/ld
parent4468e5b3761b8d38104cec857fc7ec20cdc211ad (diff)
downloadgo-8221eb910383e27141a4e0482588289e50c574ab.tar.xz
8l, runtime: fix Plan 9 386 build.
8l was broken by commit 7ac0d2eed9, it caused .data to be page aligned in the file - which is not how Plan 9 expects things to be. Also .rodata was layed out in a similar fashion. Not sure when signame was introduced, but added a stub. Removed the symo assignment in asm.c as it is not currently used. Fix runtime breakage after commit 629c065d36 which prefixes all external symbols with runtimeĀ·. R=rsc CC=golang-dev https://golang.org/cl/2674041
Diffstat (limited to 'src/cmd/ld')
-rw-r--r--src/cmd/ld/data.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/ld/data.c b/src/cmd/ld/data.c
index ddcbcaa849..f2081178c0 100644
--- a/src/cmd/ld/data.c
+++ b/src/cmd/ld/data.c
@@ -739,6 +739,10 @@ address(void)
segdata.fileoff = va - segtext.vaddr + segtext.fileoff;
if(thechar == '8' && HEADTYPE == 10) // Windows PE
segdata.fileoff = segtext.fileoff + rnd(segtext.len, PEFILEALIGN);
+ if(thechar == '8' && HEADTYPE == 2) { // Plan 9
+ segdata.vaddr = va = rnd(va, 4096);
+ segdata.fileoff = segtext.fileoff + segtext.filelen;
+ }
for(s=segdata.sect; s != nil; s=s->next) {
s->vaddr = va;
va += s->len;