Hi Vignesh,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.8 next-20240315]
[cannot apply to kees/for-next/execve tip/x86/core powerpc/next powerpc/fixes]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Vignesh-Balasubramanian/x86-elf-Add-a-new-note-section-containing-Xfeatures-information-to-x86-core-files/20240314-192650
base:   linus/master
patch link:    
https://lore.kernel.org/r/20240314112359.50713-2-vigbalas%40amd.com
patch subject: [PATCH 1/1] x86/elf: Add a new .note section containing 
Xfeatures information to x86 core files
config: i386-buildonly-randconfig-001-20240315 
(https://download.01.org/0day-ci/archive/20240315/202403151742.vez04mqr-...@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 
6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240315/202403151742.vez04mqr-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202403151742.vez04mqr-...@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/kernel/fpu/xstate.c:1858:8: error: call to undeclared function 
>> 'dump_emit'; ISO C99 and later do not support implicit function declarations 
>> [-Wimplicit-function-declaration]
    1858 |                 if (!dump_emit(cprm, &xc, sizeof(struct 
xfeat_component)))
         |                      ^
   arch/x86/kernel/fpu/xstate.c:1869:8: error: call to undeclared function 
'dump_emit'; ISO C99 and later do not support implicit function declarations 
[-Wimplicit-function-declaration]
    1869 |                 if (!dump_emit(cprm, &xc, sizeof(struct 
xfeat_component)))
         |                      ^
   arch/x86/kernel/fpu/xstate.c:1899:7: error: call to undeclared function 
'dump_emit'; ISO C99 and later do not support implicit function declarations 
[-Wimplicit-function-declaration]
    1899 |         if (!dump_emit(cprm, &en, sizeof(en)))
         |              ^
>> arch/x86/kernel/fpu/xstate.c:1903:7: error: call to undeclared function 
>> 'dump_align'; ISO C99 and later do not support implicit function 
>> declarations [-Wimplicit-function-declaration]
    1903 |         if (!dump_align(cprm, 4))
         |              ^
   4 errors generated.


vim +/dump_emit +1858 arch/x86/kernel/fpu/xstate.c

  1846  
  1847          struct xfeat_component xc;
  1848          int num_records = 0;
  1849          int i;
  1850  
  1851          /* XFEATURE_FPU and XFEATURE_SSE, both are fixed legacy states. 
*/
  1852          for (i = 0; i < FIRST_EXTENDED_XFEATURE; i++) {
  1853                  xc.xfeat_type = i;
  1854                  xc.xfeat_sz = xstate_sizes[i];
  1855                  xc.xfeat_off = xstate_offsets[i];
  1856                  xc.xfeat_flags = xstate_flags[i];
  1857  
> 1858                  if (!dump_emit(cprm, &xc, sizeof(struct 
> xfeat_component)))
  1859                          return 0;
  1860                  num_records++;
  1861          }
  1862  
  1863          for_each_extended_xfeature(i, fpu_user_cfg.max_features) {
  1864                  xc.xfeat_type = i;
  1865                  xc.xfeat_sz = xstate_sizes[i];
  1866                  xc.xfeat_off = xstate_offsets[i];
  1867                  xc.xfeat_flags = xstate_flags[i];
  1868  
  1869                  if (!dump_emit(cprm, &xc, sizeof(struct 
xfeat_component)))
  1870                          return 0;
  1871                  num_records++;
  1872          }
  1873  
  1874          return num_records;
  1875  }
  1876  
  1877  static int get_xsave_desc_size(void)
  1878  {
  1879          /* XFEATURE_FP and XFEATURE_SSE, both are fixed legacy states */
  1880          int xfeatures_count = 2;
  1881          int i;
  1882  
  1883          for_each_extended_xfeature(i, fpu_user_cfg.max_features)
  1884                  xfeatures_count++;
  1885  
  1886          return xfeatures_count * (sizeof(struct xfeat_component));
  1887  }
  1888  
  1889  int elf_coredump_extra_notes_write(struct coredump_params *cprm)
  1890  {
  1891          const char *owner_name = "LINUX";
  1892          int num_records = 0;
  1893          struct elf_note en;
  1894  
  1895          en.n_namesz = strlen(owner_name) + 1;
  1896          en.n_descsz = get_xsave_desc_size();
  1897          en.n_type = NT_X86_XSAVE_LAYOUT;
  1898  
  1899          if (!dump_emit(cprm, &en, sizeof(en)))
  1900                  return 1;
  1901          if (!dump_emit(cprm, owner_name, en.n_namesz))
  1902                  return 1;
> 1903          if (!dump_align(cprm, 4))
  1904                  return 1;
  1905  
  1906          num_records = dump_xsave_layout_desc(cprm);
  1907          if (!num_records) {
  1908                  pr_warn("Error adding XSTATE layout ELF note. XSTATE 
buffer in the core file will be unparseable.");
  1909                  return 1;
  1910          }
  1911  
  1912          /* Total size should be equal to the number of records */
  1913          if ((sizeof(struct xfeat_component) * num_records) != 
en.n_descsz) {
  1914                  pr_warn("Error adding XSTATE layout ELF note. The size 
of the .note section does not match with the total size of the records.");
  1915                  return 1;
  1916          }
  1917  
  1918          if (!dump_align(cprm, 4))
  1919                  return 1;
  1920  
  1921          return 0;
  1922  }
  1923  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to