uchar hide;
uchar leaf; // arm only
uchar fnptr; // arm only
+ uchar localentry; // ppc64: instrs between global & local entry
uchar seenglobl;
uchar onlist; // on the textp or datap lists
int16 symid; // for writing .5/.6/.8 files
int32 base;
uint64 add, info;
char *name;
- int i, j, rela, is64, n;
+ int i, j, rela, is64, n, flag;
uchar hdrbuf[64];
uchar *p;
ElfHdrBytes *hdr;
diag("%s: duplicate definition of %s", pn, s->name);
s->external = 1;
}
+ if(obj->machine == ElfMachPower64) {
+ flag = sym.other >> 5;
+ if(2 <= flag && flag <= 6)
+ s->localentry = 1 << (flag - 2);
+ else if(flag == 7)
+ diag("%s: invalid sym.other 0x%x for %s", pn, sym.other, s->name);
+ }
}
// Sort outer lists by address, adding to textp.