[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUVSiL5tCTjNaCjuRwF7U5Z6OcXMVoODhNfzuLePN+1SFA@mail.gmail.com>
Date: Sat, 23 Jan 2021 03:50:21 +0100
From: Sedat Dilek <sedat.dilek@...il.com>
To: Josh Poimboeuf <jpoimboe@...hat.com>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>,
Sami Tolvanen <samitolvanen@...gle.com>,
X86 ML <x86@...nel.org>, LKML <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Kees Cook <keescook@...omium.org>,
Clang-Built-Linux ML <clang-built-linux@...glegroups.com>,
Miroslav Benes <mbenes@...e.cz>,
Fangrui Song <maskray@...gle.com>,
Peter Collingbourne <pcc@...gle.com>
Subject: Re: [PATCH v2 00/20] objtool: vmlinux.o and CLANG LTO support
On Sat, Jan 23, 2021 at 3:46 AM Josh Poimboeuf <jpoimboe@...hat.com> wrote:
>
> On Sat, Jan 23, 2021 at 03:31:20AM +0100, Sedat Dilek wrote:
> > On Sat, Jan 23, 2021 at 3:26 AM Josh Poimboeuf <jpoimboe@...hat.com> wrote:
> > >
> > > On Fri, Jan 22, 2021 at 05:32:43PM -0800, Nick Desaulniers wrote:
> > > > > In this specific case, find_func_by_offset returns NULL for
> > > > > .text..L.cfi.jumptable.43 at addend 0x8, because Clang doesn't emit
> > > > > jump table symbols for static functions:
> > > > >
> > > > > 0000000000000000 <__typeid__ZTSFjmiE_global_addr>:
> > > > > 0: e9 00 00 00 00 jmpq 5 <__typeid__ZTSFjmiE_global_addr+0x5>
> > > > > 1: R_X86_64_PLT32 io_serial_in-0x4
> > > > > 5: cc int3
> > > > > 6: cc int3
> > > > > 7: cc int3
> > > > > 8: e9 00 00 00 00 jmpq d <__typeid__ZTSFjmiE_global_addr+0xd>
> > > > > 9: R_X86_64_PLT32 mem32_serial_in-0x4
> > > > > d: cc int3
> > > > > e: cc int3
> > > > > f: cc int3
> > > > >
> > > > > Nick, do you remember if there were plans to change this?
> > > >
> > > > Do you have a link to any previous discussion to help jog my mind; I
> > > > don't really remember this one.
> > > >
> > > > Is it that `__typeid__ZTSFjmiE_global_addr` is the synthesized jump
> > > > table, and yet there is no `__typeid__ZTSFjmiE_global_addr` entry in
> > > > the symbol table?
> > >
> > > I think he means there's not a 'mem32_serial_in.cfi_jt' symbol at
> > > '__typeid__ZTSFjmiE_global_addr+8'. Probably more aggressive symbol
> > > pruning from the assembler.
> > >
> > > It's fine though. I just need to rewrite the CFI support a bit.
> > >
> > > But that can come later. For now I'll just drop the two CFI-related
> > > patches from this set so I can merge the others next week.
> > >
> >
> > Two CFI-related patches?
> >
> > What's the other than "objtool: Add CONFIG_CFI_CLANG support"?
>
> I was referring to patches 10 and 11:
>
> objtool: Move unsuffixed symbol conversion to a helper function
> objtool: Add CONFIG_CFI_CLANG support
>
OK, thanks.
I will test with a revert of these two patches in another scenario
where I have problems with Clang's IAS but not with GNU AS.
- Sedat -
> You can just drop those patches from your testing (and don't test with
> CFI).
>
> > Do you plan (or offer) a v3 of objtool-vmlinux?
>
> Not unless there are any more comments.
>
> --
> Josh
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@...glegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20210123024634.qu62tyq3nkqusken%40treble.
Powered by blists - more mailing lists