cmd/ld: do not relocate ignored PE sections

This should have been part of CL8715043.

Update #5106

R=golang-dev, r, iant
CC=golang-dev
https://golang.org/cl/8676050
This commit is contained in:
Alex Brainman 2013-04-20 17:42:14 +10:00
parent 41451dd92b
commit 782a57811f
1 changed files with 5 additions and 0 deletions

View File

@ -257,6 +257,11 @@ ldpe(Biobuf *f, char *pkg, int64 len, char *pn)
continue;
if(rsect->sh.Characteristics&IMAGE_SCN_MEM_DISCARDABLE)
continue;
if((sect->sh.Characteristics&(IMAGE_SCN_CNT_CODE|IMAGE_SCN_CNT_INITIALIZED_DATA|IMAGE_SCN_CNT_UNINITIALIZED_DATA)) == 0) {
// This has been seen for .idata sections, which we
// want to ignore. See issues 5106 and 5273.
continue;
}
r = mal(rsect->sh.NumberOfRelocations*sizeof r[0]);
Bseek(f, obj->base+rsect->sh.PointerToRelocations, 0);
for(j=0; j<rsect->sh.NumberOfRelocations; j++) {