[Bug libmudflap/56390] New: [setjmp/longjmp] Mudflap false violation

m.labanowicz at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Feb 19 09:17:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56390

             Bug #: 56390
           Summary: [setjmp/longjmp] Mudflap false violation
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libmudflap
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: m.labanowicz@gmail.com


Following correct ANSIC code generates Mudflap Violation:

$ gawk '{printf("%02u: %s\n", NR, $0);}' main.c
01: #include <setjmp.h>
02: #include <string.h>
03: #include <stdlib.h>
04: int main(void) {
05:   volatile int var = 56;
06:   jmp_buf jmp;
07:    if (0 == setjmp(jmp)) {
08:      char bar [15];
09:      memset(bar, 0, sizeof(bar));
10:      var = 45;
11:      longjmp(jmp, 1);
12:    }
13:    else {
14:      char foo [11];
15:      memset(foo, var, sizeof(foo));
16:    }
17:    return EXIT_SUCCESS;
18: }

$ gcc -fmudflap main.c -lmudflap -o a.out

$ ./a.out
*******
mudflap violation 1 (register): time=1361265264.662245 ptr=0x7fff631e5370
size=11
pc=0x7f0823f195f1
      /usr/lib/x86_64-linux-gnu/libmudflap.so.0(__mf_register+0x41)
[0x7f0823f195f1]
      ./a.out(main+0xc0) [0x400a9c]
      /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f0823b7276d]
Nearby object 1: checked region begins 0B into and ends 10B into
mudflap object 0x908ba0: name=`main.c:8:11 (main) bar'
bounds=[0x7fff631e5370,0x7fff631e537e] size=15 area=stack check=0r/1w
liveness=1
alloc time=1361265264.662235 pc=0x7f0823f195f1
number of nearby objects: 1
*******
mudflap violation 2 (unregister): time=1361265264.662597 ptr=0x7fff631e5370
size=11
pc=0x7f0823f19196
      /usr/lib/x86_64-linux-gnu/libmudflap.so.0(__mf_unregister+0x36)
[0x7f0823f19196]
      ./a.out(main+0xef) [0x400acb]
      /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f0823b7276d]
Nearby object 1: checked region begins 0B into and ends 10B into
mudflap object 0x908ba0: name=`main.c:8:11 (main) bar'
number of nearby objects: 1

----



More information about the Gcc-bugs mailing list