<div dir="ltr"><div class="gmail_quote"><div>On Tue, Feb 6, 2018 at 2:56 PM David Woodhouse <<a href="mailto:dwmw2@infradead.org">dwmw2@infradead.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Tue, 2018-02-06 at 22:08 +0000, Chandler Carruth wrote:<br></div><blockquote type="cite"><div dir="ltr"><div>So, I was waiting to hear a definitive response on whether using aliases is hard, and didn't see one here, which is why I haven't responded further.</div><div><br></div><div>However, a colleauge pointed me at an LKML thread where it seems there *is* a definitive response?</div></div></blockquote><div><br></div></div><div><div>Aliases are hard when the compiler is directly emitting calls to a function which is exported to modules, yet the compiler and the kernel disagree on what the symbol is actually called.</div><div><br></div><div>I spent a happy Sunday evening in a hotel room a few weeks ago, trying to make them work before telling the GCC folk "screw it this is too horrible please keep the symbol name as it is".</div></div></blockquote><div><br></div><div>Nah, this is plenty definitive for me. ;]</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>At this point, what we really want is for identical thunks to have identical names — just like we do for builtins and other stuff, to avoid having differences between clang and GCC which just end up seeming capricious and being hard to work around. Having matching command line options would be a bonus, but isn't imperative.</div></div></blockquote><div><br></div><div>After talking to several others (to make sure we don't have to do this whole thing yet again) we'll change the external thunk names to match what GCC is using. Hopefully this doesn't come back to bite us. =]</div><div><br></div><div>We'll also make sure those patches get backported too so that no released versions have the old behavior.</div></div></div>