On Mon, Jan 22, 2018 at 12:11 PM, Alexander Kapshuk <alexander.kaps...@gmail.com> wrote: > On Mon, Jan 22, 2018 at 5:51 PM, Corbin Bird <corbinb...@charter.net> wrote: >> Anyone else getting this error? ( kernel 4.9.77 ) >> >>> CC fs/ext4/mballoc.o >>> CC fs/ext4/block_validity.o >>> CC fs/ext4/move_extent.o >>> CC fs/ext4/mmp.o >>> CC fs/ext4/indirect.o >>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't >>> find jump dest instruction at .text+0x56c >>> CC fs/ext4/extents_status.o >>> /bin/sh: line 1: 31735 Segmentation fault ./tools/objtool/objtool >>> check "fs/ext4/extents_status.o" >>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] >>> Error 139 >>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 >>> make: *** [Makefile:995: fs] Error 2 >> >> Corbin >> >> > > Based on the output you supplied, objtool isn't happy with > fs/ext4/indirect.o and fs/ext4/extents_status.o. > Did you do 'make clean' prior to building the kernel? > If you did, it might be worth doing a 'make mrproper' before > rebuilding the kernel. > Don't forget to back up your .config before running mrproper. >
While this is going to cause a bit more building, I personally tend to redirect kernel build output. I add O=/var/tmp/linux to all my make commands, which leaves /usr/src untouched and builds faster besides (tmpfs). The main downsides to this are: 1. Make can't re-use objects from previous builds, so rebuilds will go slower. Though, IMO this is worthwhile if re-using those objects causes issues (which I assume is due to imperfect makefiles). 2. When building packages that install kernel modules the prepared sources won't exist. This requires going back and re-preparing them (make O=/var/tmp/linux modules_prepare). For packages like zfs-kmod that use Module.symvers this is even more painful as you can only get that by rebuilding the whole thing. -- Rich