<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 28, 2021 at 4:57 PM Valdis Klētnieks <<a href="mailto:valdis.kletnieks@vt.edu">valdis.kletnieks@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, 28 Jan 2021 12:11:54 -0700, <a href="mailto:jim.cromie@gmail.com" target="_blank">jim.cromie@gmail.com</a> said:<br>
<br>
> In my hacking, Im finding this useful.<br>
> it adds a version of KBUILD_MODNAME without the quotes<br>
<br>
OK, I'll bite.  When and how is this useful?<br>
<br></blockquote><div class="gmail_quote"><br></div>heres my use</div><div class="gmail_quote"><br>#define DEFINE_DYNAMIC_DEBUG_TABLE_(_sym_,_mod_)              \<br></div><div class="gmail_quote">        weak struct _ddebug                                     \<br>             __used __aligned(8)                             \<br>             __section(".gnu.linkonce." _mod_ ".dyndbg") \<br>     _sym_##_dyndbg_base = {                                 \<br>             .site = &_sym_##_dyndbg_site,                       \<br>             .format = _mod_,                                \<br>             .lineno = 0                                     \<br>     }<br><br>#pragma message "OK<" KBUILD_MODNAME ">[" __stringify(KBUILD_MODSYM) "] adding DYNDBG_TABLE"<br><br>#define DEFINE_DYNAMIC_DEBUG_TABLE()                                   \<br>     DEFINE_DYNAMIC_DEBUG_TABLE_(KBUILD_MODSYM, KBUILD_MODNAME);<br><div> </div><div>that pragma does:</div><div><br></div><div>                 from /home/jimc/projects/lx/wk-next/init/version.c:14:<br>/home/jimc/projects/lx/wk-next/include/linux/dynamic_debug.h:172:9: note: ‘#pragma message: OK<version>[version] adding DYNDBG_TABLE’<br>  172 | #pragma message "OK<" KBUILD_MODNAME ">[" __stringify(KBUILD_MODSYM) "] adding DYNDBG_TABLE"<br>      |         ^~~~~~~<br>  CC      init/do_mounts.o<br></div><div><br></div><div>IOW the _sym_ works better for ## token-joining</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> KBUILD_MODNAME has the quotes for a reason;<br>
<br>
Hint:  do a "git grep KBUILD_MODNAME", look at how it's used, and<br>
think about how invasive a patch to change it would be...<br>
(And pay heed to the comment in arch/sparc/include/asm/vio.h -<br>
it means that there's second-order effects to deal with as well...)<br>
<br></blockquote><div><br></div><div>I have no intention of changing KBUILD_MODNAME.</div><div>I created a near-synonym to avoid exactly that.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Afterall, __stringify() could add the quotes for cases where it was needed.Afterall, __stringify() could add the quotes for cases where it was needed.<br>
<br>
How would it know?<br></blockquote><div><br></div><div>It would not.</div><div>you would add it to create the quoted version, as I used in the pragma. </div><div>obviously theres no need, since KBUILD_MODNAME already exists.</div><div><br></div><div>So question reduces to:</div><div><br></div><div>is there anything brittle with the Makefile -DKBUILD_MODSYM=$modname addition ?</div></div></div>