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]

Re: Add -lssp_nonshared to LINK_SSP_SPEC


On Tuesday 07 February 2012 09:54:43 Jakub Jelinek wrote:
> On Mon, Jan 23, 2012 at 12:03:27PM +0100, Richard Guenther wrote:
>> On Mon, Jan 23, 2012 at 12:23 AM, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>>> On Sat, 21 Jan 2012, Tijl Coosemans wrote:
>>>> I've been using this patch now. It's similar to the above url, but
>>>> conditional on TARGET_LIBC_PROVIDES_SSP to support older FreeBSD
>>>> versions.
>>>>
>>>> Gerald volunteered to commit. Gerald, just trunk for now or older
>>>> branches too?
>>>
>>> If Richi agries, I'd apply this on trunk and the GCC 4.6 branch,
>>> since that is the stable release our users employ.
>> 
>> Sure, go ahead.
>> 
>> Richard.
>> 
>>> Gerald
>>>
>>> PS: We also need to update the copyright date at the top, and I'll
>>> take care of that when committing.
>>>
>>>> 2011-01-20  Tijl Coosemans  <tijl@coosemans.org>
>>>>
>>>>       * gcc/config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP] (LINK_SSP_SPEC): Define.
> 
> This change unfortunately broke all non-freebsd powerpc* targets.
> For some weird reason freebsd-spec.h is included for all powerpc* targets
> (to support -mcall-freebsd), which means that e.g. on powerpc64-linux
> the above results in -fstack-protector being broken.
> 
> So, if this mess is really needed (does anybody actually use -mcall-freebsd
> on non-freebsd targets?), IMHO freebsd-spec.h must avoid defining non-FBSD_
> prefixed macros, as the following (completely untested) patch.  Don't have
> access to FreeBSD to test it there though, can test on powerpc64-linux.

Everything still works on FreeBSD.

> --- gcc/config/freebsd.h.jj	2010-11-26 18:39:09.000000000 +0100
> +++ gcc/config/freebsd.h	2012-02-07 09:48:50.872294367 +0100
> @@ -45,6 +45,21 @@ along with GCC; see the file COPYING3.
>  #undef  LIB_SPEC
>  #define LIB_SPEC FBSD_LIB_SPEC
>  
> +#ifdef	FBSD_LINK_EH_SPEC
> +#undef	LINK_EH_SPEC
> +#define	LINK_EH_SPEC FBSD_LINK_EH_SPEC
> +#endif
> +
> +#ifdef	FBSD_LINK_SSP_SPEC
> +#undef	LINK_SSP_SPEC
> +#define	LINK_SSP_SPEC FBSD_LINK_SSP_SPEC
> +#endif
> +     

FYI, there are extra spaces on this line.


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