Hello, > -----Original Message----- > From: Gcc-help <gcc-help-bounces+kyrylo.tkachov=arm.com@xxxxxxxxxxx> > On Behalf Of Zach 1 via Gcc-help > Sent: Monday, February 13, 2023 2:04 AM > To: gcc-help@xxxxxxxxxxx > Subject: Using the kernel thread pointer on aarch64 (tpidr_el1) > > Hi, > > On AArch64, GCC seems to use tpidr_el0 (user-mode accessible) to access > the > thread pointer for loading thread-local variables by default. I can't find > any option to change this to tpidr_el1 (or tpidr_el2/tpidr_el3). This is > necessary for using thread-local variables in kernel code. Clang has the > `-mtp` option for AArch64 ( > https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption- > clang-mtp) > that controls this, but it seems GCC does not? Does any such option exist, > and if not is there any chance to add support for it? Thanks for any help. Looks like this exists for AArch32 (the arm port of GCC): https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html AArch64 doesn't support but I suppose it wouldn't be hard to add given arm supports it and clang as well. Could you file a bug report in Bugzilla to keep track of the request please? Thanks, Kyrill > > Zach