1 |
On Tue, Jan 23, 2018 at 10:03 AM, Corbin Bird <corbinbird@×××××××.net> wrote: |
2 |
> |
3 |
> |
4 |
> On 01/23/2018 01:42 AM, Alexander Kapshuk wrote: |
5 |
>> On Tue, Jan 23, 2018 at 4:34 AM, Corbin Bird <corbinbird@×××××××.net> wrote: |
6 |
>>> On 01/22/2018 11:56 AM, Rich Freeman wrote: |
7 |
>>>> On Mon, Jan 22, 2018 at 12:11 PM, Alexander Kapshuk |
8 |
>>>> <alexander.kapshuk@×××××.com> wrote: |
9 |
>>>>> On Mon, Jan 22, 2018 at 5:51 PM, Corbin Bird <corbinbird@×××××××.net> wrote: |
10 |
>>>>>> Anyone else getting this error? ( kernel 4.9.77 ) |
11 |
>>>>>> |
12 |
>>>>>>> CC fs/ext4/mballoc.o |
13 |
>>>>>>> CC fs/ext4/block_validity.o |
14 |
>>>>>>> CC fs/ext4/move_extent.o |
15 |
>>>>>>> CC fs/ext4/mmp.o |
16 |
>>>>>>> CC fs/ext4/indirect.o |
17 |
>>>>>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
18 |
>>>>>>> find jump dest instruction at .text+0x56c |
19 |
>>>>>>> CC fs/ext4/extents_status.o |
20 |
>>>>>>> /bin/sh: line 1: 31735 Segmentation fault ./tools/objtool/objtool |
21 |
>>>>>>> check "fs/ext4/extents_status.o" |
22 |
>>>>>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] |
23 |
>>>>>>> Error 139 |
24 |
>>>>>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 |
25 |
>>>>>>> make: *** [Makefile:995: fs] Error 2 |
26 |
>>>>>> Corbin |
27 |
>>>>>> |
28 |
>>>>>> |
29 |
>>>>> Based on the output you supplied, objtool isn't happy with |
30 |
>>>>> fs/ext4/indirect.o and fs/ext4/extents_status.o. |
31 |
>>>>> Did you do 'make clean' prior to building the kernel? |
32 |
>>>>> If you did, it might be worth doing a 'make mrproper' before |
33 |
>>>>> rebuilding the kernel. |
34 |
>>>>> Don't forget to back up your .config before running mrproper. |
35 |
>>>>> |
36 |
>>>> While this is going to cause a bit more building, I personally tend to |
37 |
>>>> redirect kernel build output. I add O=/var/tmp/linux to all my make |
38 |
>>>> commands, which leaves /usr/src untouched and builds faster besides |
39 |
>>>> (tmpfs). |
40 |
>>>> |
41 |
>>>> The main downsides to this are: |
42 |
>>>> 1. Make can't re-use objects from previous builds, so rebuilds will |
43 |
>>>> go slower. Though, IMO this is worthwhile if re-using those objects |
44 |
>>>> causes issues (which I assume is due to imperfect makefiles). |
45 |
>>>> 2. When building packages that install kernel modules the prepared |
46 |
>>>> sources won't exist. This requires going back and re-preparing them |
47 |
>>>> (make O=/var/tmp/linux modules_prepare). For packages like zfs-kmod |
48 |
>>>> that use Module.symvers this is even more painful as you can only get |
49 |
>>>> that by rebuilding the whole thing. |
50 |
>>>> |
51 |
>>> Tried both approaches ... the results : |
52 |
>>>> make distclean |
53 |
>>>> make mrproper |
54 |
>>>> --> copy over .config |
55 |
>>>> make modules_prepare |
56 |
>>>> make && make modules_install |
57 |
>>>> |
58 |
>>>> CC fs/ext4/block_validity.o |
59 |
>>>> CC fs/ext4/move_extent.o |
60 |
>>>> CC fs/ext4/mmp.o |
61 |
>>>> CC fs/ext4/indirect.o |
62 |
>>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
63 |
>>>> find jump dest instruction at .text+0x56c |
64 |
>>>> CC fs/ext4/extents_status.o |
65 |
>>>> /bin/sh: line 1: 24095 Segmentation fault ./tools/objtool/objtool |
66 |
>>>> check "fs/ext4/extents_status.o" |
67 |
>>>> make[2]: *** [scripts/Makefile.build:294: fs/ext4/extents_status.o] |
68 |
>>>> Error 139 |
69 |
>>>> make[1]: *** [scripts/Makefile.build:544: fs/ext4] Error 2 |
70 |
>>>> make: *** [Makefile:995: fs] Error 2 |
71 |
>>>> |
72 |
>>>> |
73 |
>>> Try 2 : |
74 |
>>>> make distclean |
75 |
>>>> make mrproper |
76 |
>>>> --> copy over .config |
77 |
>>>> make O=/var/tmp/linux modules_prepare |
78 |
>>>> make O=/var/tmp/linux && make O=/var/tmp/linux modules_install |
79 |
>>>> |
80 |
>>>> CC fs/ext4/move_extent.o |
81 |
>>>> CC fs/ext4/mmp.o |
82 |
>>>> CC fs/ext4/indirect.o |
83 |
>>>> fs/ext4/indirect.o: warning: objtool: ext4_clear_blocks()+0x242: can't |
84 |
>>>> find jump dest instruction at .text+0x56c |
85 |
>>>> CC fs/ext4/extents_status.o |
86 |
>>>> /bin/sh: line 1: 21028 Segmentation fault ./tools/objtool/objtool |
87 |
>>>> check "fs/ext4/extents_status.o" |
88 |
>>>> make[3]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:294: |
89 |
>>>> fs/ext4/extents_status.o] Error 139 |
90 |
>>>> make[2]: *** [/usr/src/linux-4.9.77-gentoo/scripts/Makefile.build:544: |
91 |
>>>> fs/ext4] Error 2 |
92 |
>>>> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:995: fs] Error 2 |
93 |
>>>> make[1]: Leaving directory '/var/tmp/linux' |
94 |
>>>> make: *** [Makefile:150: sub-make] Error 2 |
95 |
>>> Try 2 gave an error warning about needing an 'make mrproper' ... the error : |
96 |
>>>> CHK include/config/kernel.release |
97 |
>>>> UPD include/config/kernel.release |
98 |
>>>> Using /usr/src/linux-4.9.77-gentoo as source for kernel |
99 |
>>>> /usr/src/linux-4.9.77-gentoo is not clean, please run 'make mrproper' |
100 |
>>>> in the '/usr/src/linux-4.9.77-gentoo' directory. |
101 |
>>>> make[1]: *** [/usr/src/linux-4.9.77-gentoo/Makefile:1021: prepare3] |
102 |
>>>> Error 1 |
103 |
>>>> make[1]: Leaving directory '/var/tmp/linux' |
104 |
>>>> make: *** [Makefile:150: sub-make] Error 2 |
105 |
>>> So ... I followed directions : |
106 |
>>>> Darkstar /usr/src/linux # cd /usr/src/linux-4.9.77-gentoo |
107 |
>>>> Darkstar /usr/src/linux-4.9.77-gentoo # make mrproper |
108 |
>>>> CLEAN scripts/basic |
109 |
>>>> CLEAN scripts/kconfig |
110 |
>>>> CLEAN .config |
111 |
>>> Still get the same error ... |
112 |
>>> |
113 |
>>> Corbin |
114 |
>>> |
115 |
>> Is this a distribution supplied kernel or vanilla or one with your own |
116 |
>> customisations/modifications? |
117 |
>> |
118 |
> |
119 |
> Using 'sys-kernel/gentoo-sources-4.9.77' with USE flags : modules |
120 |
> symlink experimental. |
121 |
> Both gcc && binutils have been upgraded to the latest stable / no signs |
122 |
> of them giving trouble. |
123 |
> |
124 |
> Beginning to think that something corrupted during the emerge process ... |
125 |
> |
126 |
> Corbin |
127 |
> |
128 |
> |
129 |
|
130 |
The 4.9.77 announcement upstream did introduce a number of objtool |
131 |
changes. See below. |
132 |
https://lkml.org/lkml/2018/1/17/198 |
133 |
Josh Poimboeuf (4): |
134 |
objtool, modules: Discard objtool annotation sections for modules |
135 |
objtool: Detect jumps to retpoline thunks |
136 |
objtool: Allow alternatives to be ignored |
137 |
objtool: Fix retpoline support for pre-ORC objtool |
138 |
|
139 |
I can't seem to remember seeing reports of the issue you're having on |
140 |
the LMKL, since 4.9.77 was announced. |
141 |
As you said, try re-emerging the gentoo kernel, make mrproper, no need |
142 |
for distclean, which does run mrproper as part of its operation, and |
143 |
see if that helps. |
144 |
Alternatively, you could try building the upstream version of 4.9.77, |
145 |
and see if that works. Let me know if you need instructions on how to |
146 |
proceed with that. |