annotating jump tables (Re: [PATCH v2 5/5] LoongArch: Enable jump table with GCC for objtool)
Josh Poimboeuf <[email protected]>
| Newsgroups | org.kernel.vger.linux-toolchains,dev.linux.lists.loongarch,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20241113211119.lfwlxv2bjyqfqeh2@jpoimboe> |
On Tue, Nov 12, 2024 at 08:26:56PM +0800, Tiezhu Yang wrote: > On 11/12/2024 11:15 AM, Xi Ruoyao wrote: > > On Wed, 2024-11-06 at 13:03 +0800, Tiezhu Yang wrote: > > > On 11/05/2024 10:15 PM, Peter Zijlstra wrote: > > > > On Tue, Nov 05, 2024 at 08:39:06PM +0800, Tiezhu Yang wrote: > > > > > For now, it is time to remove the compiler option -fno-jump-tables > > > > > to enable jump table for objtool if the compiler is GCC and it has > > > > > the compiler option -mannotate-tablejump, otherwise still keep the > > > > > compiler option -fno-jump-tables to maintain compatibility with the > > > > > older compilers. > > ... > > > > ifdef CONFIG_CC_HAS_ANNOTATE_TABLEJUMP > > > KBUILD_CFLAGS += $(call cc-option,-mannotate-tablejump) > > > else > > > KBUILD_CFLAGS += -fno-jump-tables > > > endif > > > > Has -mannotate-tablejump been added to Clang? > > Yes. > > > IMO it's better to add it > > to Clang first, and add Clang & GCC support at once into objtool. > > Looks reasonable, the fact is that there are some corner issues > compiled with Clang due to different compiler behaviors, most of > the issues have been addressed and I need to do more test, I will > send v3 with about 10 patches after the coming merge window. Hm, I didn't know -mannotate-tablejump existed. We really need something which supports all arches, not just loongarch. Others were looking at adding something similar (adding them to Cc). -- Josh