This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.4 nukes __guard
- From: llewelly at xmission dot com
- To: "Travis Tilley" <ttilley at email dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: 16 May 2004 19:35:49 -0600
- Subject: Re: gcc 3.4 nukes __guard
- References: <20040516230739.6C9A33CE181@ws3-4.us4.outblaze.com>
"Travis Tilley" <ttilley@email.com> writes:
> i have stack smashing protection patched into glibc, and all binaries compiled with stack protector need it:
>
> ayanami root # readelf -s /bin/bash | grep guard
> 1688: 0000000000000000 64 OBJECT GLOBAL DEFAULT UND __guard@GLIBC_2.3.2 (5)
>
> when compiled with gcc 3.3.x, glibc works as expected:
>
> ayanami root # readelf -s /lib/libc.so.6 | grep guard
> 695: 0000000000216680 64 OBJECT GLOBAL DEFAULT 29 __guard@@GLIBC_2.3.2
> 850: 000000000001d440 130 FUNC GLOBAL DEFAULT 11 __guard_setup@@GLIBC_2.3.2
>
> gcc 3.4 nukes these symbols entirely. when i marked __guard and __guard_setup as __attribute__((used)), they became local instead of global... what am i doing wrong here?
I think you should try gcc at gcc.gnu.org, or the glibc mailing list.