Hi! Please look at the modified patch in the attachment. ChangeLog remains the same.
Tested in android environment(x86_64-*-linux-android), also bootstrapped on x86_64-unknown-linux-gnu. I also started regtesting on linux. Is it ok after successfull regtesting? Thanks, Igor On Mon, May 7, 2012 at 10:08 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Mon, May 7, 2012 at 11:04 AM, Maxim Kuvyrkov <ma...@codesourcery.com> > wrote: >> On 6/05/2012, at 7:02 PM, Igor Zamyatin wrote: >> >>> Hi! >>> >>> The patch enables stack protector for Android. >>> Android targets don't contain necessary information in features.h so >>> we explicitly enable stack protector for Android. >>> >>> Bootstrapped and regtested on x86_64. Ok to commit? >>> >>> Thanks, >>> Igor >>> >>> 2012-05-06 Igor Zamyatin <igor.zamya...@intel.com> >>> >>> * configure.ac: Stack protector enabling for Android targets. >>> * configure: Regenerate. >>> >>> >>> diff --git a/gcc/configure.ac b/gcc/configure.ac >>> index 86b4bea..c1012d6 100644 >>> --- a/gcc/configure.ac >>> +++ b/gcc/configure.ac >>> @@ -4545,6 +4545,8 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library, >>> gcc_cv_libc_provides_ssp, >>> [gcc_cv_libc_provides_ssp=no >>> case "$target" in >>> + *-android*) >>> + gcc_cv_libc_provides_ssp=yes;; >>> *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) >>> [# glibc 2.4 and later provides __stack_chk_fail and >>> # either __stack_chk_guard, or TLS access to stack guard canary. >> >> >> What you really want is to enable stack protector for Bionic libc, which is >> often synonymous with -android* target, but not always. Let's enable ssp >> based on whether __BIONIC__ is defined in the libc headers (i.e., add a grep >> test for __BIONIC__ in <sys/cdefs.h>) >> >> Also please add a comment along the lines of "all versions of Bionic support >> stack protector". >> >> Which exact target did you test this on? X86_64-*-* is a pretty broad >> definition. >> > > We are working on x86_64-*-linux-android target, > which uses x32. > > -- > H.J.
stack_protector.patch
Description: Binary data