title: Unknown symbol x (err 0)
body: <p>I am trying to export a variable from RBT driver module to RBprobe driver module and I see the below warning while building them together:</p>
  
  <p>Unknown symbol x (err 0)</p>
  
  <p>I have used the EXPORT_SYMBOL function in RBT Driver module to export a variable say 'x'. Now in the RBprobe driver I have  declared 'x' using "extern".
  With this I should be able to use this symbol. But I still get the above error.</p>
  
  <p>My Understanding:</p>
  
  <p>When we build a kernel module, a symbol table file (Module.symvers)  gets generated which contains a list of all exported symbols from a kernel build. 
  Since, I am building both the kernel modules together (in order rbt530_dev.o  RBprobe.o) using single make file I guess the Module.symvers of RBprobe is replacing the one generated from rbt530_dev.o build. 
  Hence the exported symbols dont appear to RBprobe driver.</p>
  
  <p>Things I have tried:</p>
  
  <ol>
  <li><p>Created two separate directories and build RBT driver module separately. Then copy-paste Module.symvers of RBT module to RBprobe. Now I built the module it still shows the same warning. 
  There are no compilation errors.</p></li>
  <li><p>Used make variable KBUILD_EXTRA_SYMBOLS but this did not work in my favour.</p></li>
  </ol>
  
  <p>There is another way I read in the document to solve this issue wherein we build a top-level kbuild file but I am struggling to build the same.</p>
  
  <p>In case anyone knows a better approach to solve this issue let me know. Also, if I am going wrong or missing anything let me know.</p>