On Mon, Jan 11, 2021 at 5:00 PM Borislav Petkov <b...@alien8.de> wrote: > > On Mon, Jan 11, 2021 at 04:41:52PM -0800, Fāng-ruì Sòng wrote: > > To be fair: we cannot use > > Who's "we"? > > > .L-prefixed local because of the objtool limitation. > > What objtool limitation? I thought clang's assembler removes .text which > objtool uses. It worked fine with GNU as so far.
I don't think we need to completely stop using .L prefixes in the kernel, just this one location since tracking the control flow seems a little tricky for objtool. Maybe Josh can clarify more if needed? > > > The LLVM integrated assembler behavior is a good one > > Please explain what "good one" means in that particular context. > > > and binutils global maintainers have agreed so H.J. went ahead and > > implemented it for GNU as x86. > > But they don't break old behavior, do they? Or are they removing .text > unconditionally now too? Unconditionally. See https://sourceware.org/pipermail/binutils/2021-January/114700.html where that flag was rejected and the optimization was adopted as the optimization was obvious to GNU binutils developers. So I suspect this will become a problem for GNU binutils users as well after the latest release that contains https://sourceware.org/pipermail/binutils/attachments/20210105/75dd4a9d/attachment-0001.bin. > > --generate-unused-section-symbols=[yes|no] as an assembler option has > > been rejected. > > Meaning what exactly? There's no way for clang's integrated assembler to > even get a cmdline option to not strip .text? I can clean that up in v5; The section symbols were not generated then stripped; they were simply never generated. -- Thanks, ~Nick Desaulniers