gcc 3.4 nukes __guard

llewelly@xmission.com llewelly@xmission.com
Mon May 17 01:35:00 GMT 2004


"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.



More information about the Gcc-help mailing list