Mudflap reports a read violation when accessing to internal static objects like character arrays returned by public functions of shared libraries, if those libraries were not instrumented by mudflap (e g : the system's libc).
The libc's setlocale() for example, can return an internal static read only string if the locale is set to "C" or "POSIX", then mudflap complains when reading characters pointed by the return of setlocale(). I don't know if it's a bug or if mudflap didn't intend to manage this, but it would be nice to get rid of this error while keeping the reading checks on (so i've set the severity to "enhancement"). Test case : (files will be attached next) $ gcc -std=gnu99 -Wall -W -fPIC -c testmodule.c -o testmodule.o $ gcc -shared -Wl,-soname,libctest.so.1 -o libctest.so.1.0 testmodule.o $ ln -sf libctest.so.1.0 libctest.so.1 $ ln -sf libctest.so.1.0 libctest.so $ gcc -std=gnu99 -Wall -W -fmudflap testmain.c -L. -lctest -lmudflap -rdynamic -o testmain $ LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH $ export LD_LIBRARY_PATH $ ./testmain ******* mudflap violation 1 (check/read): time=1225103906.196247 ptr=0x809464 size=1 pc=0x49aecd location=`testmain.c:16:9 (main)' /usr/lib/libmudflap.so.0(__mf_check+0x3d) [0x49aecd] ./testmain(main+0x8c) [0x80487d0] /usr/lib/libmudflap.so.0(__wrap_main+0x49) [0x49a969] number of nearby objects: 0 "Abc" ******* mudflap violation 2 (check/read): time=1225103906.196504 ptr=0x809468 size=8 pc=0x49aecd location=`testmain.c:25:5 (main)' /usr/lib/libmudflap.so.0(__mf_check+0x3d) [0x49aecd] ./testmain(main+0x12a) [0x804886e] /usr/lib/libmudflap.so.0(__wrap_main+0x49) [0x49a969] number of nearby objects: 0 ******* mudflap violation 3 (check/read): time=1225103906.196562 ptr=0x809468 size=4 pc=0x49aecd location=`testmain.c:25:5 (main)' /usr/lib/libmudflap.so.0(__mf_check+0x3d) [0x49aecd] ./testmain(main+0x1a9) [0x80488ed] /usr/lib/libmudflap.so.0(__wrap_main+0x49) [0x49a969] number of nearby objects: 0 34 42 -- Summary: Mudflap : invalid reads when accessing static objects in shared libraries Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: libmudflap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: polettog at gmail dot com GCC build triplet: x86_64-pc-linux-gnu GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37927