1 |
On 01/22/2018 11:56 AM, Rich Freeman wrote: |
2 |
> On Mon, Jan 22, 2018 at 12:11 PM, Alexander Kapshuk |
3 |
> <alexander.kapshuk@×××××.com> wrote: |
4 |
>> On Mon, Jan 22, 2018 at 5:51 PM, Corbin Bird <corbinbird@×××××××.net> wrote: |
5 |
>>> Anyone else getting this error? ( kernel 4.9.77 ) |
6 |
>>> |
7 |
>>>> CC fs/ext4/mballoc.o |
8 |
>>>> CC fs/ext4/block_validity.o |
9 |
>>>> CC fs/ext4/move_extent.o |
10 |
>>>> CC fs/ext4/mmp.o |
11 |
>>>> CC fs/ext4/indirect.o |
12 |
>>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
13 |
>>>> find jump dest instruction at .text+0x56c |
14 |
>>>> CC fs/ext4/extents_status.o |
15 |
>>>> /bin/sh: line 1: 31735 Segmentation fault ./tools/objtool/objtool |
16 |
>>>> check "fs/ext4/extents_status.o" |
17 |
>>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] |
18 |
>>>> Error 139 |
19 |
>>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 |
20 |
>>>> make: *** [Makefile:995: fs] Error 2 |
21 |
>>> Corbin |
22 |
>>> |
23 |
>>> |
24 |
>> Based on the output you supplied, objtool isn't happy with |
25 |
>> fs/ext4/indirect.o and fs/ext4/extents_status.o. |
26 |
>> Did you do 'make clean' prior to building the kernel? |
27 |
>> If you did, it might be worth doing a 'make mrproper' before |
28 |
>> rebuilding the kernel. |
29 |
>> Don't forget to back up your .config before running mrproper. |
30 |
>> |
31 |
> While this is going to cause a bit more building, I personally tend to |
32 |
> redirect kernel build output. I add O=/var/tmp/linux to all my make |
33 |
> commands, which leaves /usr/src untouched and builds faster besides |
34 |
> (tmpfs). |
35 |
> |
36 |
> The main downsides to this are: |
37 |
> 1. Make can't re-use objects from previous builds, so rebuilds will |
38 |
> go slower. Though, IMO this is worthwhile if re-using those objects |
39 |
> causes issues (which I assume is due to imperfect makefiles). |
40 |
> 2. When building packages that install kernel modules the prepared |
41 |
> sources won't exist. This requires going back and re-preparing them |
42 |
> (make O=/var/tmp/linux modules_prepare). For packages like zfs-kmod |
43 |
> that use Module.symvers this is even more painful as you can only get |
44 |
> that by rebuilding the whole thing. |
45 |
> |
46 |
|
47 |
Tried both approaches ... the results : |
48 |
> make distclean |
49 |
> make mrproper |
50 |
> --> copy over .config |
51 |
> make modules_prepare |
52 |
> make && make modules_install |
53 |
> |
54 |
> CC fs/ext4/block_validity.o |
55 |
> CC fs/ext4/move_extent.o |
56 |
> CC fs/ext4/mmp.o |
57 |
> CC fs/ext4/indirect.o |
58 |
> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
59 |
> find jump dest instruction at .text+0x56c |
60 |
> CC fs/ext4/extents_status.o |
61 |
> /bin/sh: line 1: 24095 Segmentation fault ./tools/objtool/objtool |
62 |
> check "fs/ext4/extents_status.o" |
63 |
> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] |
64 |
> Error 139 |
65 |
> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 |
66 |
> make: *** [Makefile:995: fs] Error 2 |
67 |
> |
68 |
> |
69 |
Try 2 : |
70 |
> |
71 |
> make distclean |
72 |
> make mrproper |
73 |
> --> copy over .config |
74 |
> make O=/var/tmp/linux modules_prepare |
75 |
> make O=/var/tmp/linux && make O=/var/tmp/linux modules_install |
76 |
> |
77 |
> CC fs/ext4/move_extent.o |
78 |
> CC fs/ext4/mmp.o |
79 |
> CC fs/ext4/indirect.o |
80 |
> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
81 |
> find jump dest instruction at .text+0x56c |
82 |
> CC fs/ext4/extents_status.o |
83 |
> /bin/sh: line 1: 21028 Segmentation fault ./tools/objtool/objtool |
84 |
> check "fs/ext4/extents_status.o" |
85 |
> make[3]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:294: |
86 |
> fs/ext4/extents_status.o] Error 139 |
87 |
> make[2]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:544: |
88 |
> fs/ext4] Error 2 |
89 |
> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:995: fs] Error 2 |
90 |
> make[1]: Leaving directory '/var/tmp/linux' |
91 |
> make: *** [Makefile:150: sub-make] Error 2 |
92 |
Try 2 gave an error warning about needing an 'make mrproper' ... the error : |
93 |
> |
94 |
> CHK include/config/kernel.release |
95 |
> UPD include/config/kernel.release |
96 |
> Using /usr/src/linux-4.9.77-gentoo as source for kernel |
97 |
> /usr/src/linux-4.9.77-gentoo is not clean, please run 'make mrproper' |
98 |
> in the '/usr/src/linux-4.9.77-gentoo' directory. |
99 |
> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:1021: prepare3] |
100 |
> Error 1 |
101 |
> make[1]: Leaving directory '/var/tmp/linux' |
102 |
> make: *** [Makefile:150: sub-make] Error 2 |
103 |
So ... I followed directions : |
104 |
> Darkstar /usr/src/linux # cd /usr/src/linux-4.9.77-gentoo |
105 |
> Darkstar /usr/src/linux-4.9.77-gentoo # make mrproper |
106 |
> CLEAN scripts/basic |
107 |
> CLEAN scripts/kconfig |
108 |
> CLEAN .config |
109 |
|
110 |
Still get the same error ... |
111 |
|
112 |
Corbin |