From: Dave Cheney Date: Sat, 16 Aug 2014 04:10:35 +0000 (+1000) Subject: cmd/ld: fix operator precedence X-Git-Tag: go1.4beta1~813 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=78cc89ce6740057bfbf9da211102c75659f83c89;p=gostls13.git cmd/ld: fix operator precedence Fixes #8480. This CL reapplies CL 114420043. This attempt doesn't blow up when encountering hidden symbols. LGTM=minux R=minux CC=golang-codereviews https://golang.org/cl/128310043 --- diff --git a/src/cmd/ld/data.c b/src/cmd/ld/data.c index 1919123b49..f76ac0129c 100644 --- a/src/cmd/ld/data.c +++ b/src/cmd/ld/data.c @@ -145,7 +145,7 @@ relocsym(LSym *s) diag("%s: invalid relocation %d+%d not in [%d,%d)", s->name, off, siz, 0, s->np); continue; } - if(r->sym != S && ((r->sym->type & SMASK) == 0 || (r->sym->type & SMASK) == SXREF)) { + if(r->sym != S && ((r->sym->type & (SMASK | SHIDDEN)) == 0 || (r->sym->type & SMASK) == SXREF)) { diag("%s: not defined", r->sym->name); continue; }