[llvm-dev] [PPC] Linker fails on -fstack-protector

Joerg Sonnenberger via llvm-dev
Tue, 23 Feb 2016 12:47:36 -0000

On Tue, Feb 23, 2016 at 04:47:32AM +0000, Tim Shen
wrote:
> To make the fix least surprising, I can either do:
> 1) Create PPCISD::THREAD_POINTER and Intrinsic::ppc_thread_pointer and do
> similar things aarch64 does; or
> 2) Don't create PPCISD::THREAD_POINTER, but directly calls
> llvm.read_register intrinsic in ppc's getStackCookieLocation(). This is
the
> way that requires least change; or
> 3) Create a generic ISD::GET_GLOBAL_TLS_ADDRESS and intrinsic
> llvm.get_global_tls_address(), and lower them to target specific ISD. No
> target specific intrinsic is needed. I was wrong about
> ISD::GlobalTlsAddress, since it requires a GlobalValue object.

(4) Create an intrinisinc for the SSP cookie itself and allow targets to use
different lowering passed on factors like the OS.

Joerg