[llvm-bugs] [Bug 32835] New: wrong code (compiled code segfaults) at -O1 and above on x86_64-linux-gnu (in both 32-bit and 64-bit modes)

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Apr 27 21:38:41 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=32835

            Bug ID: 32835
           Summary: wrong code (compiled code segfaults) at -O1 and above
                    on x86_64-linux-gnu (in both 32-bit and 64-bit modes)
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: su at cs.ucdavis.edu
                CC: llvm-bugs at lists.llvm.org

It seems to be a recent regression. 


$ clang -v
clang version 5.0.0 (trunk 301511) (llvm/trunk 301510)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.2.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang -O0 small.c; ./a.out
$ clang-4.0.0 -O1 small.c; ./a.out
$
$ clang -O1 small.c
$ ./a.out
Segmentation fault (core dumped)
$


----------------------------------------------------------


int a, *b, d, f, g;
char c = 11;
unsigned e = 2429825730;

void fn1 ()
{ 
  while (d >= 0)
    { 
      unsigned short i = ~-(e ^ 10375 ^ ~c) ^ 10159;
      g = e;
      a = c - ((a | ~e) & -i & (~d | e));
      d = ~((i & a) * e);
      if (d > -416522375)
        continue;
      return;
    }
  while (1)
    while (*b)
      ;
}

int main ()
{ 
  for (; a < 1; a++)
    ;
  fn1 ();
  return 0;
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170428/89af97c4/attachment.html>


More information about the llvm-bugs mailing list