Well I found and old post by John Criswell describing how he did his dissertation project SVA. He didn't use LTO but llvm-link. So I figure I would try to do it that way and see if this works since I am not sure how good the current support for LTO is. Will clang generally work if an external assembler is used?
On Wed, Oct 17, 2018 at 9:05 PM <valdis.kletnieks@xxxxxx> wrote:
On Wed, 17 Oct 2018 20:02:46 +0800, Carter Cheng said:
> The problem is I have to do something special with the clang options. I
> have to add an interprocedural link time optimization pass spitting out
> bitcode files and tying them together using llvm-link.
As I said back on Friday, this is work that's already been done:
> There's no LTO support in the stock 4.19 tree, but Andi Kleen did a patchset
> for 4.15, and there's another patchset to enable LTO when using Clang rather
> than gcc. (I haven't tried either one, don't use on a production machine, as
> the resulting kernel may crash, eat filesystems, and/or turn your dog green...)
http://lmgtfy.com/?q=andi+kleen+linux+4.15+lto
What you're probably going to run into is that adding the options
isn't the hard part of the project. The hard part will be fixing all
the places where LTO exposes issues in the code, such as this
(already-fixed) problem:
https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1620485.html
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies