Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH] x86: work around clang IAS bug referencing __force_order | Date | Fri, 07 Aug 2020 00:11:38 +0200 |
| |
Arnd Bergmann <arnd@arndb.de> writes: > When using the clang integrated assembler, we get a reference > to __force_order that should normally get ignored in a few > rare cases: > > ERROR: modpost: "__force_order" [drivers/cpufreq/powernow-k6.ko] undefined! > > Add a 'static' definition so any file in which this happens can > have a local copy.
That's a horrible hack.
And the only reason why it does not trigger -Wunused-variable warnings all over the place is because it's "referenced" in unused inline functions and then optimized out along with the unused inlines.
> * It is not referenced from the code, but GCC < 5 with -fPIE would fail > * due to an undefined symbol. Define it to make these ancient GCCs > work.
Bah, we really should have moved straight to GCC5 instead of upping it just to 4.9
> + * > + * Clang sometimes fails to kill the reference to the dummy variable, so > + * provide an actual copy.
Can that compiler be fixed instead?
Aside of that is there a reason to make this 'static' thing wrapped in #ifdeffery? A quick check with GCC8.3 just works. But maybe 4.9 gets unhappy. Can't say due to: -ENOANCIENTCOMPILER :)
Thanks,
tglx
| |