Hi Steven,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   8e143b90e4d45cca3dc53760d3cfab988bc74571
commit: cec8d0e7f06e08b981e9d61bef267c8c36d536f5 sh: ftrace: Use 
ftrace_graph_get_ret_stack() instead of curr_ret_stack
date:   11 days ago
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout cec8d0e7f06e08b981e9d61bef267c8c36d536f5
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sh 

All errors (new ones prefixed by >>):

   arch/sh/kernel/dwarf.c: In function 'dwarf_unwind_stack':
>> arch/sh/kernel/dwarf.c:1209:0: error: unterminated argument list invoking 
>> macro "WARN_ON"
    early_initcall(dwarf_unwinder_init);
    
>> arch/sh/kernel/dwarf.c:622:3: error: 'WARN_ON' undeclared (first use in this 
>> function); did you mean 'WMARK_LOW'?
      WARN_ON(ftrace_graph_get_ret_stack(current, 1);
      ^~~~~~~
      WMARK_LOW
   arch/sh/kernel/dwarf.c:622:3: note: each undeclared identifier is reported 
only once for each function it appears in
>> arch/sh/kernel/dwarf.c:622:3: error: expected ';' at end of input
>> arch/sh/kernel/dwarf.c:622:3: error: expected declaration or statement at 
>> end of input
>> arch/sh/kernel/dwarf.c:622:3: error: expected declaration or statement at 
>> end of input
>> arch/sh/kernel/dwarf.c:584:16: error: unused variable 'addr' 
>> [-Werror=unused-variable]
     unsigned long addr;
                   ^~~~
>> arch/sh/kernel/dwarf.c:583:20: error: unused variable 'reg' 
>> [-Werror=unused-variable]
     struct dwarf_reg *reg;
                       ^~~
>> arch/sh/kernel/dwarf.c:582:20: error: unused variable 'fde' 
>> [-Werror=unused-variable]
     struct dwarf_fde *fde;
                       ^~~
>> arch/sh/kernel/dwarf.c:581:20: error: unused variable 'cie' 
>> [-Werror=unused-variable]
     struct dwarf_cie *cie;
                       ^~~
>> arch/sh/kernel/dwarf.c:580:22: error: unused variable 'frame' 
>> [-Werror=unused-variable]
     struct dwarf_frame *frame;
                         ^~~~~
   arch/sh/kernel/dwarf.c:622:3: error: control reaches end of non-void 
function [-Werror=return-type]
      WARN_ON(ftrace_graph_get_ret_stack(current, 1);
      ^~~~~~~
   At top level:
>> arch/sh/kernel/dwarf.c:399:12: error: 'dwarf_cfa_execute_insns' defined but 
>> not used [-Werror=unused-function]
    static int dwarf_cfa_execute_insns(unsigned char *insn_start,
               ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/sh/kernel/dwarf.c:306:26: error: 'dwarf_lookup_cie' defined but not 
>> used [-Werror=unused-function]
    static struct dwarf_cie *dwarf_lookup_cie(unsigned long cie_ptr)
                             ^~~~~~~~~~~~~~~~
>> arch/sh/kernel/dwarf.c:226:12: error: 'dwarf_read_encoded_value' defined but 
>> not used [-Werror=unused-function]
    static int dwarf_read_encoded_value(char *addr, unsigned long *val,
               ^~~~~~~~~~~~~~~~~~~~~~~~
>> arch/sh/kernel/dwarf.c:107:26: error: 'dwarf_frame_reg' defined but not used 
>> [-Werror=unused-function]
    static struct dwarf_reg *dwarf_frame_reg(struct dwarf_frame *frame,
                             ^~~~~~~~~~~~~~~
>> arch/sh/kernel/dwarf.c:41:27: error: 'dwarf_reg_cachep' defined but not used 
>> [-Werror=unused-variable]
    static struct kmem_cache *dwarf_reg_cachep;
                              ^~~~~~~~~~~~~~~~
>> arch/sh/kernel/dwarf.c:38:27: error: 'dwarf_frame_cachep' defined but not 
>> used [-Werror=unused-variable]
    static struct kmem_cache *dwarf_frame_cachep;
                              ^~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors

vim +/WARN_ON +1209 arch/sh/kernel/dwarf.c

a6a2f2ad Matt Fleming                   2009-10-09  1160  
a6a2f2ad Matt Fleming                   2009-10-09  1161  /**
a6a2f2ad Matt Fleming                   2009-10-09  1162   *    
dwarf_unwinder_init - initialise the dwarf unwinder
a6a2f2ad Matt Fleming                   2009-10-09  1163   *
a6a2f2ad Matt Fleming                   2009-10-09  1164   *    Build the data 
structures describing the .dwarf_frame section to
a6a2f2ad Matt Fleming                   2009-10-09  1165   *    make it easier 
to lookup CIE and FDE entries. Because the
a6a2f2ad Matt Fleming                   2009-10-09  1166   *    .eh_frame 
section is packed as tightly as possible it is not
a6a2f2ad Matt Fleming                   2009-10-09  1167   *    easy to lookup 
the FDE for a given PC, so we build a list of FDE
a6a2f2ad Matt Fleming                   2009-10-09  1168   *    and CIE entries 
that make it easier.
a6a2f2ad Matt Fleming                   2009-10-09  1169   */
a6a2f2ad Matt Fleming                   2009-10-09  1170  static int __init 
dwarf_unwinder_init(void)
a6a2f2ad Matt Fleming                   2009-10-09  1171  {
8a37f520 Paul Mundt                     2010-05-25  1172        int err = 
-ENOMEM;
a6a2f2ad Matt Fleming                   2009-10-09  1173  
a6a2f2ad Matt Fleming                   2009-10-09  1174        
dwarf_frame_cachep = kmem_cache_create("dwarf_frames",
8ec006c5 Paul Mundt                     2009-10-12  1175                        
sizeof(struct dwarf_frame), 0,
75f296d9 Levin, Alexander (Sasha Levin  2017-11-15  1176)                       
SLAB_PANIC | SLAB_HWCACHE_ALIGN, NULL);
8ec006c5 Paul Mundt                     2009-10-12  1177  
a6a2f2ad Matt Fleming                   2009-10-09  1178        
dwarf_reg_cachep = kmem_cache_create("dwarf_regs",
8ec006c5 Paul Mundt                     2009-10-12  1179                        
sizeof(struct dwarf_reg), 0,
75f296d9 Levin, Alexander (Sasha Levin  2017-11-15  1180)                       
SLAB_PANIC | SLAB_HWCACHE_ALIGN, NULL);
a6a2f2ad Matt Fleming                   2009-10-09  1181  
1cf370c6 David Rientjes                 2015-04-14  1182        
dwarf_frame_pool = mempool_create_slab_pool(DWARF_FRAME_MIN_REQ,
a6a2f2ad Matt Fleming                   2009-10-09  1183                        
                            dwarf_frame_cachep);
8a37f520 Paul Mundt                     2010-05-25  1184        if 
(!dwarf_frame_pool)
8a37f520 Paul Mundt                     2010-05-25  1185                goto 
out;
a6a2f2ad Matt Fleming                   2009-10-09  1186  
1cf370c6 David Rientjes                 2015-04-14  1187        dwarf_reg_pool 
= mempool_create_slab_pool(DWARF_REG_MIN_REQ,
a6a2f2ad Matt Fleming                   2009-10-09  1188                        
                          dwarf_reg_cachep);
8a37f520 Paul Mundt                     2010-05-25  1189        if 
(!dwarf_reg_pool)
8a37f520 Paul Mundt                     2010-05-25  1190                goto 
out;
a6a2f2ad Matt Fleming                   2009-10-09  1191  
a6a2f2ad Matt Fleming                   2009-10-09  1192        err = 
dwarf_parse_section(__start_eh_frame, __stop_eh_frame, NULL);
a6a2f2ad Matt Fleming                   2009-10-09  1193        if (err)
a6a2f2ad Matt Fleming                   2009-10-09  1194                goto 
out;
a6a2f2ad Matt Fleming                   2009-10-09  1195  
bd353861 Matt Fleming                   2009-08-14  1196        err = 
unwinder_register(&dwarf_unwinder);
bd353861 Matt Fleming                   2009-08-14  1197        if (err)
bd353861 Matt Fleming                   2009-08-14  1198                goto 
out;
bd353861 Matt Fleming                   2009-08-14  1199  
8a37f520 Paul Mundt                     2010-05-25  1200        
dwarf_unwinder_ready = 1;
8a37f520 Paul Mundt                     2010-05-25  1201  
97f361e2 Paul Mundt                     2009-08-17  1202        return 0;
bd353861 Matt Fleming                   2009-08-14  1203  
bd353861 Matt Fleming                   2009-08-14  1204  out:
bd353861 Matt Fleming                   2009-08-14  1205        printk(KERN_ERR 
"Failed to initialise DWARF unwinder: %d\n", err);
bd353861 Matt Fleming                   2009-08-14  1206        
dwarf_unwinder_cleanup();
8a37f520 Paul Mundt                     2010-05-25  1207        return err;
bd353861 Matt Fleming                   2009-08-14  1208  }
97f361e2 Paul Mundt                     2009-08-17 @1209  
early_initcall(dwarf_unwinder_init);

:::::: The code at line 1209 was first introduced by commit
:::::: 97f361e2498ada54b48a235619eaf5af8e46427e sh: unwinder: Move 
initialization to early_initcall() and tidy up locking.

:::::: TO: Paul Mundt <let...@linux-sh.org>
:::::: CC: Paul Mundt <let...@linux-sh.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to