tree:
https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/entry
head: 740d9ec95803da77586b79bbbe98a5c7f3612388
commit: dfff54208072a27909ae97ebce644c251a233ff2 [5/11] x86/entry: Use the high bits of
regs->cs to store the entry type
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout dfff54208072a27909ae97ebce644c251a233ff2
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
ld: arch/x86/kernel/ftrace_64.o: in function `ftrace_caller':
> arch/x86/kernel/ftrace_64.S:141: undefined reference to
`FRAME_SIZE'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RAX'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RCX'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RDX'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RSI'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RDI'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `R8'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `R9'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `ORIG_RAX'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RBP'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `FRAME_SIZE'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `FRAME_SIZE'
> ld: arch/x86/kernel/ftrace_64.S:141: undefined reference to `RIP'
ld:
arch/x86/kernel/ftrace_64.S:153: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:153: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.o: in function `ftrace_regs_caller':
arch/x86/kernel/ftrace_64.S:184: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `ORIG_RAX'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:184: undefined reference to `RIP'
> ld: arch/x86/kernel/ftrace_64.S:192: undefined reference to
`R15'
> ld: arch/x86/kernel/ftrace_64.S:193: undefined reference to `R14'
> ld: arch/x86/kernel/ftrace_64.S:194: undefined reference to `R13'
> ld: arch/x86/kernel/ftrace_64.S:195: undefined reference to `R12'
> ld: arch/x86/kernel/ftrace_64.S:196: undefined reference to `R11'
> ld: arch/x86/kernel/ftrace_64.S:197: undefined reference to `R10'
> ld: arch/x86/kernel/ftrace_64.S:198: undefined reference to `RBX'
ld:
arch/x86/kernel/ftrace_64.S:200: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:201: undefined reference to `EFLAGS'
ld: arch/x86/kernel/ftrace_64.S:203: undefined reference to `__KERNEL_DS'
ld: arch/x86/kernel/ftrace_64.S:204: undefined reference to `SS'
ld: arch/x86/kernel/ftrace_64.S:205: undefined reference to `__KERNEL_CS'
ld: arch/x86/kernel/ftrace_64.S:206: undefined reference to `CS'
ld: arch/x86/kernel/ftrace_64.S:208: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:209: undefined reference to `RSP'
ld: arch/x86/kernel/ftrace_64.S:220: undefined reference to `EFLAGS'
ld: arch/x86/kernel/ftrace_64.S:221: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:224: undefined reference to `RIP'
ld: arch/x86/kernel/ftrace_64.S:225: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:228: undefined reference to `R15'
ld: arch/x86/kernel/ftrace_64.S:229: undefined reference to `R14'
ld: arch/x86/kernel/ftrace_64.S:230: undefined reference to `R13'
ld: arch/x86/kernel/ftrace_64.S:231: undefined reference to `R12'
ld: arch/x86/kernel/ftrace_64.S:232: undefined reference to `R10'
ld: arch/x86/kernel/ftrace_64.S:233: undefined reference to `RBX'
ld: arch/x86/kernel/ftrace_64.S:235: undefined reference to `ORIG_RAX'
ld: arch/x86/kernel/ftrace_64.S:236: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:242: undefined reference to `ORIG_RAX'
ld: arch/x86/kernel/ftrace_64.S:247: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:248: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:249: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:251: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:259: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.o: in function `ftrace_graph_caller':
arch/x86/kernel/ftrace_64.S:315: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `ORIG_RAX'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:315: undefined reference to `RIP'
ld: arch/x86/kernel/ftrace_64.S:317: undefined reference to `FRAME_SIZE'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RBP'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `R9'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `R8'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RDI'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RSI'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RDX'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RCX'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `RAX'
ld: arch/x86/kernel/ftrace_64.S:321: undefined reference to `FRAME_SIZE'
vim +141 arch/x86/kernel/ftrace_64.S
76c2f13c551597 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 138)
6dcc5627f6aec4 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 139
SYM_FUNC_START(ftrace_caller)
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 140) /*
save_mcount_regs fills in first two parameters */
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 @141)
save_mcount_regs
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 142)
26ba4e5738a544 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 143
SYM_INNER_LABEL(ftrace_caller_op_ptr, SYM_L_GLOBAL)
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 144) /*
Load the ftrace_ops into the 3rd parameter */
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 145) movq
function_trace_op(%rip), %rdx
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 146)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 147 /*
regs go into 4th parameter (but make it NULL) */
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 148 movq
$0, %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 149
26ba4e5738a544 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 150
SYM_INNER_LABEL(ftrace_call, SYM_L_GLOBAL)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 151 call
ftrace_stub
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 152
05df710ec343cf arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 153)
restore_mcount_regs
f3bea49115b21e arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-07-02 154)
f3bea49115b21e arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-07-02 155) /*
f1b92bb6b5a4e1 arch/x86/kernel/mcount_64.S Borislav Petkov 2016-02-16 156 *
The code up to this label is copied into trampolines so
f1b92bb6b5a4e1 arch/x86/kernel/mcount_64.S Borislav Petkov 2016-02-16 157 *
think twice before adding any new code or changing the
f1b92bb6b5a4e1 arch/x86/kernel/mcount_64.S Borislav Petkov 2016-02-16 158 *
layout here.
f3bea49115b21e arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-07-02 159) */
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 160
SYM_INNER_LABEL(ftrace_caller_end, SYM_L_GLOBAL)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 161
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 162 jmp
ftrace_epilogue
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 163
SYM_FUNC_END(ftrace_caller);
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 164
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 165
SYM_FUNC_START(ftrace_epilogue)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 166
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
26ba4e5738a544 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 167
SYM_INNER_LABEL(ftrace_graph_call, SYM_L_GLOBAL)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 168 jmp
ftrace_stub
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 169
#endif
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 170
d2a68c4effd821 arch/x86/kernel/ftrace_64.S Steven Rostedt (VMware 2018-12-08 171) /*
d2a68c4effd821 arch/x86/kernel/ftrace_64.S Steven Rostedt (VMware 2018-12-08 172) *
This is weak to keep gas from relaxing the jumps.
d2a68c4effd821 arch/x86/kernel/ftrace_64.S Steven Rostedt (VMware 2018-12-08 173) * It
is also used to copy the retq for trampolines.
d2a68c4effd821 arch/x86/kernel/ftrace_64.S Steven Rostedt (VMware 2018-12-08 174) */
13fbe784ef6e58 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 175
SYM_INNER_LABEL_ALIGN(ftrace_stub, SYM_L_WEAK)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 176
retq
0298739b7983cf arch/x86/kernel/ftrace_64.S Peter Zijlstra 2020-04-01 177
SYM_FUNC_END(ftrace_epilogue)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 178
6dcc5627f6aec4 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 179
SYM_FUNC_START(ftrace_regs_caller)
527aa75b333f90 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 180) /*
Save the current flags before any operations that can change them */
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 181
pushfq
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 182
527aa75b333f90 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 183) /*
added 8 bytes to save flags */
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 @184)
save_mcount_regs 8
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 185) /*
save_mcount_regs fills in first two parameters */
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 186)
26ba4e5738a544 arch/x86/kernel/ftrace_64.S Jiri Slaby 2019-10-11 187
SYM_INNER_LABEL(ftrace_regs_caller_op_ptr, SYM_L_GLOBAL)
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 188) /*
Load the ftrace_ops into the 3rd parameter */
f1ab00af816ec8 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 189) movq
function_trace_op(%rip), %rdx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 190
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 191 /*
Save the rest of pt_regs */
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @192 movq
%r15, R15(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @193 movq
%r14, R14(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @194 movq
%r13, R13(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @195 movq
%r12, R12(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @196 movq
%r11, R11(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @197 movq
%r10, R10(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @198 movq
%rbx, RBX(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 199 /*
Copy saved flags */
85f6f0290c4d46 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 200) movq
MCOUNT_REG_SIZE(%rsp), %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @201 movq
%rcx, EFLAGS(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 202 /*
Kernel segments */
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @203 movq
$__KERNEL_DS, %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @204 movq
%rcx, SS(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @205 movq
$__KERNEL_CS, %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @206 movq
%rcx, CS(%rsp)
527aa75b333f90 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 207) /*
Stack - skipping return address and flags */
85f6f0290c4d46 arch/x86/kernel/mcount_64.S Steven Rostedt (Red Hat 2014-11-24 208) leaq
MCOUNT_REG_SIZE+8*2(%rsp), %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 @209 movq
%rcx, RSP(%rsp)
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 210
ea1ed38dba64b6 arch/x86/kernel/ftrace_64.S Peter Zijlstra 2019-05-07 211
ENCODE_FRAME_POINTER
ea1ed38dba64b6 arch/x86/kernel/ftrace_64.S Peter Zijlstra 2019-05-07 212
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 213 /*
regs go into 4th parameter */
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 214 leaq
(%rsp), %rcx
e18eead3c3e008 arch/x86/kernel/mcount_64.S Steven Rostedt 2014-05-08 215
:::::: The code at line 141 was first introduced by commit
:::::: f1ab00af816ec8e1ad53229963c863fdd6bcf222 ftrace/x86: Get rid of
ftrace_caller_setup
:::::: TO: Steven Rostedt (Red Hat) <rostedt(a)goodmis.org>
:::::: CC: Steven Rostedt <rostedt(a)goodmis.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org