1 |
On Mon, Jan 22, 2018 at 12:11 PM, Alexander Kapshuk |
2 |
<alexander.kapshuk@×××××.com> wrote: |
3 |
> On Mon, Jan 22, 2018 at 5:51 PM, Corbin Bird <corbinbird@×××××××.net> wrote: |
4 |
>> Anyone else getting this error? ( kernel 4.9.77 ) |
5 |
>> |
6 |
>>> CC fs/ext4/mballoc.o |
7 |
>>> CC fs/ext4/block_validity.o |
8 |
>>> CC fs/ext4/move_extent.o |
9 |
>>> CC fs/ext4/mmp.o |
10 |
>>> CC fs/ext4/indirect.o |
11 |
>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
12 |
>>> find jump dest instruction at .text+0x56c |
13 |
>>> CC fs/ext4/extents_status.o |
14 |
>>> /bin/sh: line 1: 31735 Segmentation fault ./tools/objtool/objtool |
15 |
>>> check "fs/ext4/extents_status.o" |
16 |
>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] |
17 |
>>> Error 139 |
18 |
>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 |
19 |
>>> make: *** [Makefile:995: fs] Error 2 |
20 |
>> |
21 |
>> Corbin |
22 |
>> |
23 |
>> |
24 |
> |
25 |
> Based on the output you supplied, objtool isn't happy with |
26 |
> fs/ext4/indirect.o and fs/ext4/extents_status.o. |
27 |
> Did you do 'make clean' prior to building the kernel? |
28 |
> If you did, it might be worth doing a 'make mrproper' before |
29 |
> rebuilding the kernel. |
30 |
> Don't forget to back up your .config before running mrproper. |
31 |
> |
32 |
|
33 |
While this is going to cause a bit more building, I personally tend to |
34 |
redirect kernel build output. I add O=/var/tmp/linux to all my make |
35 |
commands, which leaves /usr/src untouched and builds faster besides |
36 |
(tmpfs). |
37 |
|
38 |
The main downsides to this are: |
39 |
1. Make can't re-use objects from previous builds, so rebuilds will |
40 |
go slower. Though, IMO this is worthwhile if re-using those objects |
41 |
causes issues (which I assume is due to imperfect makefiles). |
42 |
2. When building packages that install kernel modules the prepared |
43 |
sources won't exist. This requires going back and re-preparing them |
44 |
(make O=/var/tmp/linux modules_prepare). For packages like zfs-kmod |
45 |
that use Module.symvers this is even more painful as you can only get |
46 |
that by rebuilding the whole thing. |
47 |
|
48 |
-- |
49 |
Rich |