Re: Bug: linking shared libraries on Cygwin results in undefined references to __stack_chck_guard for code compiled with -fstack-protector
Richard PALO <[email protected]>
| Newsgroups | gmane.comp.gnu.libtool.patches,gmane.comp.gnu.libtool.bugs |
|---|---|
| Message-ID | <[email protected]> |
Le 02/06/10 05:24, Yaakov (Cygwin/X) a écrit : > On Sat, 15 May 2010 09:07:49 +0200 > Bart Van Assche <[email protected]> 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.