RE: Using the kernel thread pointer on aarch64 (tpidr_el1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux