Am Donnerstag, 6. Juni 2019, 20:59:00 CEST schrieb Greg KH: > On Thu, Jun 06, 2019 at 08:25:28PM +0200, Miguel Ojeda wrote: > > On Thu, Jun 6, 2019 at 5:29 PM Greg KH wrote: > > > And if you want this, you should look at how the backports to 4.14.y > > > worked, they did not include a3f8a30f3f00 ("Compiler Attributes: use > > > feature checks instead of version checks"), as that gets really messy... > > > > I am confused -- I interpreted Rolf's message as reporting that he > > already successfully built 4.9 by applying a6e60d84989f > > ("include/linux/module.h: copy __init/__exit attrs to > > init/cleanup_module") and manually fixing it up. But maybe I am > > completely wrong... :-) > > "manually fixing it up" means "hacked it to pieces" to me, I have no > idea what the end result really was :) > > If someone wants to send me some patches I can actually apply, that > would be best... Hi all, the patch I actually used was this: diff --git a/include/linux/module.h b/include/linux/module.h index 8fa38d3e7538..f5bc4c046461 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -129,13 +129,13 @@ extern void cleanup_module(void); #define module_init(initfn) \ static inline initcall_t __maybe_unused __inittest(void) \ { return initfn; } \ - int init_module(void) __attribute__((alias(#initfn))); + int init_module(void) __attribute__((__copy__(initfn))) __attribute__((alias(#initfn))); /* This is only required if you want to be unloadable. */ #define module_exit(exitfn) \ static inline exitcall_t __maybe_unused __exittest(void) \ { return exitfn; } \ - void cleanup_module(void) __attribute__((alias(#exitfn))); + void cleanup_module(void) __attribute__((__copy__(exitfn))) __attribute__((alias(#exitfn))); #endif So the final question is: do we want 4.9.x to be buildable with gcc 9.x? If yes then we can probably get this patches into shape. Eike -- Rolf Eike Beer, emlix GmbH, http://www.emlix.com Fon +49 551 30664-0, Fax +49 551 30664-11 Gothaer Platz 3, 37083 Göttingen, Germany Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055 emlix - smart embedded open source