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