[llvm-dev] Compiling linux with `clang -fbasic-block-sections=labels`

Akshith Gunasekaran via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 8 16:30:23 PDT 2021



> On Jun 8, 2021, at 2:56 PM, Sriraman Tallam <tmsriram at google.com> wrote:
> 
> 
> 
> On Tue, Jun 8, 2021 at 1:16 PM Akshith Gunasekaran <akshith.573 at gmail.com <mailto:akshith.573 at gmail.com>> wrote:
> Hi,
> 
> Here is a public gist with the repro steps: https://gist.github.com/akshithg/e5a58fc7012a65e6ec2e94794d66569f <https://gist.github.com/akshithg/e5a58fc7012a65e6ec2e94794d66569f>
> It should have 1) the config i'm using 2) the toolchain version 3) build steps
> 
> Feel free to shoot more questions if you need more details :)
> 
> Thanks, in the interests of simplifying this further,  would it be possible to give me the preprocessed source and the failing command?

Here you go: https://gist.github.com/akshithg/e5a58fc7012a65e6ec2e94794d66569f#gistcomment-3773366 <https://gist.github.com/akshithg/e5a58fc7012a65e6ec2e94794d66569f#gistcomment-3773366>
Thanks for your time and effort :)

>   
>  
> 
> 
> On Tue, Jun 8, 2021 at 7:24 AM Sriraman Tallam <tmsriram at google.com <mailto:tmsriram at google.com>> wrote:
> 
> 
> On Mon, Jun 7, 2021 at 10:39 PM David Blaikie <dblaikie at gmail.com <mailto:dblaikie at gmail.com>> wrote:
> BB sections has only been tested/implemented with a fairly narrow set of flags so far as I know, and is sufficiently novel that various features won't interact correctly with it without some work to support the combination of bb sections and those features.
> 
> I'd /guess/ BPF, for instance, probably doesn't work with BB sections out of the box & may require some work (like some work was needed to support BB sections with DWARF) - I believe BPF is mandatory/used by default when building the Linux kernel? So maybe that's what's being tripped over here. But could something else entirely - that's just my first guess.
> 
> Right, we have not tried to build the linux kernel with these flags but it is something we would like to test and fix.
>  
> 
> 
> On Mon, Jun 7, 2021 at 9:15 PM A G via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> Hi,
> I'm trying to build the linux kernel with `clang -fbasic-block-sections=labels`.
> 
> Labels does not actually generate sections and it must be a simpler step as it only adds metadata to the binary.
>  
> 
> I ran into this error:
> 
> /tmp/main-81886d.s: Assembler messages:
> /tmp/main-81886d.s: Error: .size expression for .BB.set_reset_devices does not evaluate to a constant
> /tmp/main-81886d.s: Error: .size expression for .BB.debug_kernel does not evaluate to a constant
> /tmp/main-81886d.s: Error: .size expression for .BB.quiet_kernel does not evaluate to a constant
> /tmp/main-81886d.s: Error: .size expression for .BB.loglevel does not evaluate to a constant
> 
> 
> Would you be able to give us a smaller repro for this, we can take a look.  Basic block labels uses size expressions when generating metadata and it looks like we are not doing this right under some circumstances. 
> 
>  
> 
> make kernelversion
> 5.10.0
> 
> clang version 11.1.0 (g... at github.com:llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)
> Target: x86_64-unknown-linux-gnu
> 
> 
> 1. Can someone help me understand what this error means?
> 2. Is clang-built-linux a better place to ask this question?
> 3. Is there a workaround for this?
> 
> Thanks
> Akshith
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> 
> -- 
> 
> Sri    Tallam |
>  Software Engineer |
>  tmsriram at google.com <mailto:tmsriram at google.com> |
> 
> 
> -- 
> 
> Sri    Tallam |
>  Software Engineer |
>  tmsriram at google.com <mailto:tmsriram at google.com> |

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210608/c5ae6c87/attachment.html>


More information about the llvm-dev mailing list