[Bug target/95671] Fails to build kernel 5.7 with -march=bdver{2,3,4} workaround -mno-tbm
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 15 12:05:04 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95671
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
I've got a reduced test-case:
$ cat lbr.i
int a, c, d;
long b;
void
fn1() {
for (; c; c++) {
int e, f = 0;
if (a) {
e = !(d & 1ULL << 63);
f = e;
}
d = fn1;
b = f;
}
}
$ gcc lbr.i -c -O2 -march=bdver2 -c &&
~/Programming/linux/tools/objtool/objtool check --uaccess lbr.o
lbr.i: In function ‘fn1’:
lbr.i:12:7: warning: assignment to ‘int’ from ‘void (*)()’ makes integer from
pointer without a cast [-Wint-conversion]
12 | d = fn1;
| ^
lbr.o: warning: objtool: fn1()+0x26: can't find jump dest instruction at
.text+0x36
disassembly:
26: 74 0e je 36 <fn1+0x36>
28: 48 0f ba fa 1f btc $0x1f,%rdx
2d: 8f ea f8 10 ca 1f 01 bextr $0x11f,%rdx,%rcx
34: 00 00
36: ff c0 inc %eax
It seems to me bextr is not supported (parsed) by objtool?
More information about the Gcc-bugs
mailing list