[Bug fortran/55341] address-sanitizer and Fortran

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 19 09:03:00 GMT 2012


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

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-19 09:03:13 UTC ---
Example testcase:

void bar (char *, char *, char *, char *, char *, char *, char *, char *, char
*, char *,
          char *, char *, char *, char *, char *, char *, char *, char *, char
*, char *,
          char *, char *, char *, char *, char *, char *, char *, char *, char
*, char *);

int
foo (void)
{
  char c0, c1, c2, c3, c4, c5, c6, c7, c8, c9;
  char d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;
  char e0, e1, e2, e3, e4, e5, e6, e7, e8, e9;
  bar (&c0, &c1, &c2, &c3, &c4, &c5, &c6, &c7, &c8, &c9,
       &d0, &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &d9,
       &e0, &e1, &e2, &e3, &e4, &e5, &e6, &e7, &e8, &e9);
  return 0;
}

on powerpc64-linux with -O2 -fsanitize=address, or on say x86_64-linux with -O2
-fsanitize=address -mstringop-strategy=libcall
These want to clear 244 bytes of consecutive shadow memory upon return from the
function.



More information about the Gcc-bugs mailing list