This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Define TARGET_LIBC_PROVIDES_SSP for targets using glibc, use TLS access sequences on i386/x86_64/ppc/ppc64


Hi!

This patch on top of http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01874.html
(and on the glibc side with
http://sources.redhat.com/ml/libc-hacker/2005-06/msg00009.html
patch in) switches to using __stack_chk_fail{,_local} from glibc
rather than libgcc and on some targets uses faster stack guard
canary load sequences.
For PIC code, those sequences allow removing an address load from
GOT as well as in some cases the PIC register does not need to be
set up at all in a routine that otherwise doesn't use need it.
For non-PIC code, using the thread local reads has the advantage
of not using a COPY relocation against __stack_chk_guard,
which in turn ends up in .bss and could be perhaps overwritten
more easily. 

	Jakub

Attachment: d-ssp-8
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]