This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc 3.4 nukes __guard


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?

-- 
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]