objtool warning for wanxl_pci_init_one with gcc-7
Hi Josh,
I'm getting a new warning with the latest gcc-7 snapshot, I think this is a false positive:
drivers/net/wan/wanxl.o: warning: objtool: wanxl_pci_init_one()+0x9d2: sibling call from callable instruction with changed frame pointer
# /git/arm-soc/drivers/net/wan/wanxl.c:133: switch((value >> STATUS_CABLE_PM_SHIFT) & 0x7) {
movl %eax, %ecx # value, _314
movl %eax, %r10d # value, _224
movq (%r15), %rdi # MEM[base: _546, offset: 0B], pretmp_490
shrl $5, %ecx #, _314
andl $8, %r10d #, _224
movl %ecx, %edx # _314, tmp377
andl $7, %edx #, tmp377
jmp *(%r14,%rdx,8) #
.section .rodata
.align 8
.align 4
.L280:
.quad .L278
.quad .L278
.quad .L279
.quad .L281
.quad .L282
.quad .L305
.quad .L278
.quad .L306.text
Arnd
Quoted 28 lines · Arnd Bergmann
Hi Josh,
I'm getting a new warning with the latest gcc-7 snapshot, I think this is a false positive:
drivers/net/wan/wanxl.o: warning: objtool: wanxl_pci_init_one()+0x9d2: sibling call from callable instruction with changed frame pointer# /git/arm-soc/drivers/net/wan/wanxl.c:133: switch((value >> STATUS_CABLE_PM_SHIFT) & 0x7) { movl %eax, %ecx # value, _314 movl %eax, %r10d # value, _224 movq (%r15), %rdi # MEM[base: _546, offset: 0B], pretmp_490 shrl $5, %ecx #, _314 andl $8, %r10d #, _224 movl %ecx, %edx # _314, tmp377 andl $7, %edx #, tmp377 jmp *(%r14,%rdx,8) # .section .rodata .align 8 .align 4 .L280: .quad .L278 .quad .L278 .quad .L279 .quad .L281 .quad .L282 .quad .L305 .quad .L278 .quad .L306
Quoted 1 line
.text
Thanks Arnd, will take a look at it. This reminds me that I need to ping the gcc guys about better annotations of switch statement jump tables.
Signature · 1 line
Josh