Le 02/11/13 23:45, Richard PALO a écrit : > Le 02/06/10 05:24, Yaakov (Cygwin/X) a écrit : >> On Sat, 15 May 2010 09:07:49 +0200 >> Bart Van Assche wrote: >>> This behavior has been observed with libtool version 2.2.6. >> >> Bug confirmed. When code is compiled with -fstack-protector{,-all}, >> GCC "emits extra code to check for buffer overflows, such as stack >> smashing attacks". This extra code uses symbols from libssp, and >> therefore (at least) Cygwin's GCC specs contain: >> >> *link_ssp: >> %{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp} >> >> Therefore, when libtool fails to pass -fstack-protector{,-all} at link >> stage, the link fails. >> >> Patch attached. (Yes, I have a copyright assignment on file.) >> >> >> Yaakov >> Cygwin/X >> > > I've done some limited testing of this patch on a SunOS distro with > pkgsrc, and it certainly helps a number of cases since it is gcc that > generates the necessary '-lssp_nonshared -lssp' libs for linking (at > least in absence of '-nostdlib'). > > Please include in the upcoming version. > > > > I'd like to propose a slight modification this which, in addition, seems to get over the issue (at least on solaris) of c++ shared libraries linking '-nostdlib'. This could easily be adapted for other hosts using g++. Note, it is harmless if '-dumpspecs' or no spec with fstack-protector* is available. It appears there was no warm welcome in tossing the '-nostdlib' setup for g++ shared libraries for solaris, so this seems to be a reasonable workaround. -- Richard PALO