1
0
mirror of https://github.com/golang/go synced 2024-09-30 16:08:36 -06:00

cmd/ld: skip R_*_NONE relocations, fix Linux/386 build again

The last fix was wrong w.r.t C's operator precedence,
and it also failed to really skip the NONE relocation.

The offending R_386_NONE relocation is a absolute
relocation in section .eh_frame.

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/6463058
This commit is contained in:
Shenghou Ma 2012-08-21 00:34:06 +08:00
parent 2701046798
commit b1532344ef

View File

@ -658,8 +658,11 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn)
p += 4;
}
}
if(info & 0xffffffff == 0) // R_*_NONE relocation
if((info & 0xffffffff) == 0) { // skip R_*_NONE relocation
j--;
n--;
continue;
}
if((info >> 32) == 0) { // absolute relocation, don't bother reading the null symbol
rp->sym = S;
} else {