In order to get over suppression of -fstack-protector namely in SunOS
builds for perl and cups, I've been testing for a real long time now
a patch found on libtool-patches@ in the following thread:
Re: Bug: linking shared libraries on Cygwin results in undefined
references to __stack_chck_guard for code compiled with -fstack-protector
This patch prevents libtools link phase from suppressing
'-fstack-protector*' switches such that gcc can issue the proper link
statement.
Well, that was fine for gcc, but when building with g++ libtool adds for
some reason '-nostdlib' which foils the above patch, so that needed
attending to. It is useful to know that this patch fixes similar
problems with, for example, '-pthread' and others!
Then, Mr Orth found a problem on SunOS x86_64 with -Bdirect as mentioned
here: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 and
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
So I have some patches found here:
http://www.netbsd.org/~richard/libtool-SunOS/ that I've been using
without issue on both i386 and x86_64.
Summary:
0001-add-fstack-protector-link-support-to-libtool.patch
permits libtool to generate -fstack-protector* on all platforms.
0002-x86-64-sunos-fix-for-g-and-Wl-Bdirect-involving-libt.patch
affects only SunOS x86_64 libtool, gcc47 & gcc48
0003-remove-nostdlib-from-libtool-shared-libraries-for-fs.patch
suppresses -nostdlib with g++ on SunOS only (see note # below)
0004-use-libtool-fstack-protector-support-in-cups.patch
re-enable in perl
0005-put-back-stack-protector-on-solaris-in-perl.patch
re-enable in perl
Note # other platforms that wish to test suppression of '-nostdlib' will
need to apply a similar patch for their target. Apparently
the darwin platform may have (or have had) issues...
I encourage direct participation in the libtool@ discussion
'g++ and -nostdlib'
NB libtool-base is *not* revbump'd in the any of the above patches,
although gcc*, cups, and perl are.