Hi, Ari, I'm not sure if your patch is sufficient. It fixes only a single occurrence while there are more errors of this kind. The reason also seems lie a bit deeper.
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" { extern char *strrchr (char *__s, int __c) __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); extern __const char *strrchr (__const char *__s, int __c) __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); # ifdef __OPTIMIZE__ __extern_always_inline char * strrchr (char *__s, int __c) __THROW { return __builtin_strrchr (__s, __c); } __extern_always_inline __const char * strrchr (__const char *__s, int __c) __THROW { return __builtin_strrchr (__s, __c); } # endif It seems __OPTIMIZE__ is defined when compiling with -O2. Also Drepper himself states[0] that just casting those variables is not the way to go and I have to agree with that. So it seems we require a bit more work to fix this bug :/ [0] https://www.redhat.com/archives/fedora-devel-list/2009-January/msg02248.html Cheers Nico -- Nico Golde - http://www.ngolde.de - n...@jabber.ccc.de - GPG: 0xA0A0AAAA For security reasons, all text in this mail is double-rot13 encrypted.
pgpzPNF9fFRu2.pgp
Description: PGP signature