The USEFIELD instructions no longer make it to the linker,
so we have to do something else to pin the references
they were pinning. Emit a 0-length relocation of type R_USEFIELD.
Fixes #7486.
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://golang.org/cl/
95530043
R_PLT0,
R_PLT1,
R_PLT2,
+ R_USEFIELD,
};
// Auto.type
ctxt->andptr = ctxt->and;
ctxt->asmode = p->mode;
+ if(p->as == AUSEFIELD) {
+ r = addrel(ctxt->cursym);
+ r->off = 0;
+ r->siz = 0;
+ r->sym = p->from.sym;
+ r->type = R_USEFIELD;
+ return;
+ }
+
if(ctxt->headtype == Hnacl) {
if(p->as == AREP) {
ctxt->rep++;
static void
asmins(Link *ctxt, Prog *p)
{
+ Reloc *r;
+
ctxt->andptr = ctxt->and;
+
+ if(p->as == AUSEFIELD) {
+ r = addrel(ctxt->cursym);
+ r->off = 0;
+ r->sym = p->from.sym;
+ r->type = R_USEFIELD;
+ r->siz = 0;
+ return;
+ }
if(ctxt->headtype == Hnacl) {
switch(p->as) {