"can't find call dest symbol" warning on 4.14 kernel |
|||||
Issue descriptionOS Version: R65, ToT as of 1/8. Copied from b/71708351 to keep bug public. Attempting to build 4.14 kernel on Eve gives me a spew like so. The build goes on fine though..haven't loaded the kernel yet. kernel/sched/rt.o: warning: objtool: __enqueue_rt_entity()+0x243: can't find call dest symbol at offset 0x142b AR sound/soc/xtensa/built-in.o CC [M] drivers/net/ethernet/intel/e100.o AR crypto/crypto_simd.o CC kernel/sched/deadline.o drivers/of/irq.o: warning: objtool: of_irq_init()+0x19a: can't find call dest symbol at offset 0x192 CC drivers/media/rc/keymaps/rc-avermedia-m135a.o drivers/iio/inkern.o: warning: objtool: iio_channel_read()+0x9f: can't find call dest symbol at offset 0xba CC drivers/of/of_net.o AR drivers/net/ethernet/mellanox/built-in.o fs/ext4/ialloc.o: warning: objtool: ext4_read_inode_bitmap()+0x46e: can't find call dest symbol at offset 0xbb6 CC lib/strncpy_from_user.o CC [M] fs/nfs/client.o CC drivers/pci/pci.o CC [M] net/sunrpc/auth_gss/gss_rpc_xdr.o AR drivers/net/wireless/cisco/built-in.o mm/mmu_notifier.o: warning: objtool: .text.__x86.indirect_thunk.r8+0x0: can't find call dest symbol at offset 0x9 LD [M] crypto/ecdh_generic.o AR drivers/net/wireless/intel/built-in.o CC arch/x86/kernel/fpu/regset.o AR fs/kernfs/built-in.o CC fs/jbd2/revoke.o AR drivers/net/ethernet/intel/e1000/built-in.o CC [M] drivers/net/usb/r8152.o CC drivers/mmc/core/pwrseq_emmc.o drivers/md/persistent-data/dm-btree.o: warning: objtool: insert()+0x238: can't find call dest symbol at offset 0x13ff AR sound/soc/zte/built-in.o Guenter Roeck did some digging, pasting his findings from b/71708351: "I tried "cros_workon_make --board eve sys-kernel/chromeos-kernel-4_14" as well as "USE="kasan pcserial tty_console_ttyS0" emerge-eve chromeos-kernel-4_14" in my chroot, but I don't see the problem. Did you update your chroot recently?" "Problem shows up after updating my chroot. This may be a side effect / result of the new compilers and Sprectre mitigation." "Reverting commit e6e13d175846d ("cros-kernel2: Use new branch option.") from chromiumos-overlay 'fixes' the problem. It appears that code generated by the new compiler confuses objtool."
,
Jan 18 2018
,
Jan 18 2018
I think this may be fixed with crbug.com/802348 and CL:870993, ie with the next stable release merge (v4.14.14).
,
Jan 18 2018
Add-on to #3: Yes, v4.14.14 is supposed to fix the problem; see upstream commit 258c76059cece ("objtool: Allow alternatives to be ignored"). Unfortunately, the 'fix' causes objtool to crash. Either our internal version of gcc with retpoline support generates different code than the upstream version and confuses objtool, or objtool wasn't tested with a compiler supporting retpoline changes.
,
Jan 25 2018
,
Jan 31 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/00f128a32452c5077663957272799da86fcdf544 commit 00f128a32452c5077663957272799da86fcdf544 Author: Guenter Roeck <groeck@chromium.org> Date: Wed Jan 31 01:47:19 2018 cros-kernel2: Set indirect branch options only if supported and needed Indirect branch options are expected to be set in the kernel source. This is currently supported in chromeos-4.14 and chromeos-4.4. Also, not all compilers support the same set of options. Only set options as needed and supported. BUG=chromium:805584, chromium:800667 TEST=Build and test images for all kernel versions CQ-DEPEND=CL:881921 Change-Id: I512abe4e8d7d7fa296548c4870aeef6c614dd83a Signed-off-by: Guenter Roeck <groeck@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/881551 Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/00f128a32452c5077663957272799da86fcdf544/eclass/cros-kernel2.eclass
,
Feb 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b5383e7311bc6c1fde0aa3584fa85fca62998d50 commit b5383e7311bc6c1fde0aa3584fa85fca62998d50 Author: Guenter Roeck <groeck@chromium.org> Date: Fri Feb 09 03:43:50 2018 Revert "CHROMIUM: Revert "objtool: Allow alternatives to be ignored"" This reverts commit e9eb28165cd73ba2355d77cd14d9d63869123073. Upstream stable release v4.14.18 fixes the problem we avoided by reverting the original patch. The problem was only seen in chromeos-4.14 if retpoline support was enabled through KCFLAGS. This is no longer the case (retpoline support is now enabled with CONFIG_RETPOLINE), thus it is safe to restore the original patch. This is a prerequisite for the merge of v4.14.18. BUG= chromium:800667 , chromium:802348 , chromium:810185 TEST=Build and run on affected system running chromeos-4.14 Change-Id: I010644f9f84d50d24c733147a754919a1ed8515f Signed-off-by: Guenter Roeck <groeck@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/908532 Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/b5383e7311bc6c1fde0aa3584fa85fca62998d50/tools/objtool/check.c [modify] https://crrev.com/b5383e7311bc6c1fde0aa3584fa85fca62998d50/tools/objtool/check.h
,
Feb 13 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by llozano@chromium.org
, Jan 18 2018