Description: Do not require 32-bit cross preprocessing support
 .
 cbmc (5.9-4) unstable; urgency=low
 .
   * Fix preprocessing flags for non-x86 architectures
   * Fix copy&paste error in built-in library
   * Enable all hardening flags
Author: Michael Tautschnig <mt@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2018-07-04

--- cbmc-5.9.orig/.travis.yml
+++ cbmc-5.9/.travis.yml
@@ -101,7 +101,6 @@ jobs:
             - g++-5
             - libubsan0
             - parallel
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-5 bin/gcc
@@ -136,7 +135,6 @@ jobs:
             - libwww-perl
             - g++-5
             - libubsan0
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-5 bin/gcc
@@ -165,7 +163,6 @@ jobs:
             - libstdc++-5-dev
             - libubsan0
             - parallel
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-5 bin/gcc
@@ -194,7 +191,6 @@ jobs:
             - g++-5
             - libstdc++-5-dev
             - libubsan0
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-5 bin/gcc
@@ -220,7 +216,6 @@ jobs:
             - ubuntu-toolchain-r-test
           packages:
             - g++-5
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-5 bin/gcc
@@ -245,7 +240,6 @@ jobs:
             - ubuntu-toolchain-r-test
           packages:
             - g++-7
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         - ln -s /usr/bin/gcc-7 bin/gcc
@@ -276,7 +270,6 @@ jobs:
             - libstdc++-5-dev
             - libubsan0
             - parallel
-            - libc6-dev-i386
       before_install:
         - mkdir bin
         # Use gcc/g++ 5 for tests, as Clang doesn't work yet
--- cbmc-5.9.orig/regression/cbmc/Malloc15/main.c
+++ /dev/null
@@ -1,15 +0,0 @@
-void *malloc(__CPROVER_size_t);
-
-int main()
-{
-  int *p;
-
-  p = malloc(sizeof(int));
-  unsigned int r = p;
-  if (r != 0)
-    *p = 1;
-
-  if (p != 0)
-    __CPROVER_assert (*p == 1, "malloc");
-  return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Malloc15/main.i
@@ -0,0 +1,15 @@
+void *malloc(__CPROVER_size_t);
+
+int main()
+{
+  int *p;
+
+  p = malloc(sizeof(int));
+  unsigned int r = p;
+  if (r != 0)
+    *p = 1;
+
+  if (p != 0)
+    __CPROVER_assert (*p == 1, "malloc");
+  return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Malloc15/test.desc
+++ cbmc-5.9/regression/cbmc/Malloc15/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Malloc16/main.c
+++ /dev/null
@@ -1,25 +0,0 @@
-void *malloc(__CPROVER_size_t);
-
-int foo(int *x)
-{
-  *x = 1;
-}
-
-int main()
-{
-  void *tmp;
-  int *dev;
-
-  tmp = malloc(sizeof(int));
-  dev = (int*)tmp;
-
-  void *r = (void*)0;
-  unsigned int q = r;
-  unsigned int p = dev;
-  if(p != q)
-  {
-    foo(dev);
-    __CPROVER_assert(*dev==1, "WTF?");
-  }
-  return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Malloc16/main.i
@@ -0,0 +1,25 @@
+void *malloc(__CPROVER_size_t);
+
+int foo(int *x)
+{
+  *x = 1;
+}
+
+int main()
+{
+  void *tmp;
+  int *dev;
+
+  tmp = malloc(sizeof(int));
+  dev = (int*)tmp;
+
+  void *r = (void*)0;
+  unsigned int q = r;
+  unsigned int p = dev;
+  if(p != q)
+  {
+    foo(dev);
+    __CPROVER_assert(*dev==1, "WTF?");
+  }
+  return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Malloc16/test.desc
+++ cbmc-5.9/regression/cbmc/Malloc16/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Pointer_Arithmetic12/main.c
+++ /dev/null
@@ -1,134 +0,0 @@
-#include <stdint.h>
-
-#include <assert.h>
-
-uint32_t __stack[32];
-
-uint32_t eax;
-uint32_t ebp;
-uint32_t ebx;
-uint32_t ecx;
-uint32_t edi;
-uint32_t edx;
-uint32_t esi;
-uint32_t esp=(uint32_t)&(__stack[31]);
-uint32_t var0;
-uint32_t var1;
-uint32_t var10;
-uint32_t var11;
-uint32_t var12;
-uint32_t var13;
-uint32_t var14;
-uint32_t var15;
-uint32_t var16;
-uint32_t var2;
-uint32_t var3;
-uint32_t var4;
-uint32_t var5;
-uint32_t var6;
-uint32_t var7;
-uint32_t var8;
-uint32_t var9;
-
-void g__L_0x3b4_0()
-{
-  L_0x3b4_0: esp-=0x4;
-  L_0x3b4_1: *(uint32_t*)(esp)=ebp;
-  L_0x3b5_0: ebp=esp;
-  L_0x3b7_0: var4=ebp;
-  L_0x3b7_1: var4+=0xc;
-  L_0x3b7_2: eax=*(uint32_t*)(var4);
-  L_0x3ba_0: edx=eax;
-  L_0x3bc_0: edx&=0x3;
-  L_0x3bf_0: var5=ebp;
-  L_0x3bf_1: var5+=0x8;
-  L_0x3bf_2: eax=*(uint32_t*)(var5);
-  L_0x3c2_0: *(uint32_t*)(eax)=edx;
-  L_0x3c4_0: ebp=*(uint32_t*)(esp);
-  L_0x3c4_1: esp+=0x4;
-  L_0x3c5_0: return;
-}
-
-void f__L_0x3c6_0()
-{
-  L_0x3c6_0: esp-=0x4;
-  L_0x3c6_1: *(uint32_t*)(esp)=ebp;
-  L_0x3c7_0: ebp=esp;
-  L_0x3c9_0: esp-=0x18;
-  L_0x3cc_0: var6=ebp;
-  L_0x3cc_1: var6-=0x4;
-  L_0x3cc_2: *(uint32_t*)(var6)=0x0;
-  L_0x3d3_0: var7=ebp;
-  L_0x3d3_1: var7-=0x8;
-  L_0x3d3_2: *(uint32_t*)(var7)=0x0;
-  L_0x3da_0: var8=ebp;
-  L_0x3da_1: var8+=0x8;
-  L_0x3da_2: eax=*(uint32_t*)(var8);
-  L_0x3dd_0: var9=ebp;
-  L_0x3dd_1: var9-=0x4;
-  L_0x3dd_2: *(uint32_t*)(var9)=eax;
-  L_0x3e0_0: var10=ebp;
-  L_0x3e0_1: var10-=0x4;
-  L_0x3e0_2: eax=*(uint32_t*)(var10);
-  L_0x3e3_0: var11=esp;
-  L_0x3e3_1: var11+=0x4;
-  L_0x3e3_2: *(uint32_t*)(var11)=eax;
-  L_0x3e7_0: var12=ebp;
-  L_0x3e7_1: var12-=0x8;
-  L_0x3e7_2: eax=(uint32_t)&*(uint32_t*)(var12);
-  L_0x3ea_0: *(uint32_t*)(esp)=eax;
-  L_0x3ed_0: esp-=4; g__L_0x3b4_0(); esp+=4;
-  L_0x3f2_0: var13=ebp;
-  L_0x3f2_1: var13-=0x4;
-  L_0x3f2_2: *(uint32_t*)(var13)=0x5;
-  L_0x3f9_0: var14=ebp;
-  L_0x3f9_1: var14-=0x8;
-  L_0x3f9_2: eax=*(uint32_t*)(var14);
-  L_0x3fc_0: esp=ebp;
-  L_0x3fc_1: ebp=*(uint32_t*)(esp);
-  L_0x3fc_2: esp+=0x4;
-  L_0x3fd_0: return;
-}
-
-int main()
-{
-  L_0x3fe_0: esp-=0x4;
-  L_0x3fe_1: *(uint32_t*)(esp)=ebp;
-  L_0x3ff_0: ebp=esp;
-  L_0x401_0: esp-=0x14;
-  L_0x404_0: var15=ebp;
-  L_0x404_1: var15-=0x4;
-#ifdef NONDET
-  L_0x404_2: *(uint32_t*)(var15)=nondet_uint();
-#else
-  L_0x404_2: *(uint32_t*)(var15)=0xffffffff;
-#endif
-  L_0x40b_0: var16=ebp;
-  L_0x40b_1: var16-=0x4;
-  L_0x40b_2: eax=*(uint32_t*)(var16);
-  L_0x40e_0: *(uint32_t*)(esp)=eax;
-  L_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
-#if 1
-             uint32_t eax1=eax;
-  C_0x3ff_0: ebp=esp;
-  C_0x401_0: esp-=0x14;
-  C_0x404_0: var15=ebp;
-  C_0x404_1: var15-=0x4;
-#ifdef NONDET
-  C_0x404_2: *(uint32_t*)(var15)=nondet_uint();
-#else
-  C_0x404_2: *(uint32_t*)(var15)=0xffffffff;
-#endif
-  C_0x40b_0: var16=ebp;
-  C_0x40b_1: var16-=0x4;
-  C_0x40b_2: eax=*(uint32_t*)(var16);
-  C_0x40e_0: *(uint32_t*)(esp)=eax;
-  C_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
-             uint32_t eax2=eax;
-             assert(eax2==eax1);
-#endif
-  L_0x416_0: esp=ebp;
-  L_0x416_1: ebp=*(uint32_t*)(esp);
-  L_0x416_2: esp+=0x4;
-  L_0x417_0: return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Pointer_Arithmetic12/main.i
@@ -0,0 +1,132 @@
+typedef unsigned int uint32_t;
+
+uint32_t __stack[32];
+
+uint32_t eax;
+uint32_t ebp;
+uint32_t ebx;
+uint32_t ecx;
+uint32_t edi;
+uint32_t edx;
+uint32_t esi;
+uint32_t esp=(uint32_t)&(__stack[31]);
+uint32_t var0;
+uint32_t var1;
+uint32_t var10;
+uint32_t var11;
+uint32_t var12;
+uint32_t var13;
+uint32_t var14;
+uint32_t var15;
+uint32_t var16;
+uint32_t var2;
+uint32_t var3;
+uint32_t var4;
+uint32_t var5;
+uint32_t var6;
+uint32_t var7;
+uint32_t var8;
+uint32_t var9;
+
+void g__L_0x3b4_0()
+{
+  L_0x3b4_0: esp-=0x4;
+  L_0x3b4_1: *(uint32_t*)(esp)=ebp;
+  L_0x3b5_0: ebp=esp;
+  L_0x3b7_0: var4=ebp;
+  L_0x3b7_1: var4+=0xc;
+  L_0x3b7_2: eax=*(uint32_t*)(var4);
+  L_0x3ba_0: edx=eax;
+  L_0x3bc_0: edx&=0x3;
+  L_0x3bf_0: var5=ebp;
+  L_0x3bf_1: var5+=0x8;
+  L_0x3bf_2: eax=*(uint32_t*)(var5);
+  L_0x3c2_0: *(uint32_t*)(eax)=edx;
+  L_0x3c4_0: ebp=*(uint32_t*)(esp);
+  L_0x3c4_1: esp+=0x4;
+  L_0x3c5_0: return;
+}
+
+void f__L_0x3c6_0()
+{
+  L_0x3c6_0: esp-=0x4;
+  L_0x3c6_1: *(uint32_t*)(esp)=ebp;
+  L_0x3c7_0: ebp=esp;
+  L_0x3c9_0: esp-=0x18;
+  L_0x3cc_0: var6=ebp;
+  L_0x3cc_1: var6-=0x4;
+  L_0x3cc_2: *(uint32_t*)(var6)=0x0;
+  L_0x3d3_0: var7=ebp;
+  L_0x3d3_1: var7-=0x8;
+  L_0x3d3_2: *(uint32_t*)(var7)=0x0;
+  L_0x3da_0: var8=ebp;
+  L_0x3da_1: var8+=0x8;
+  L_0x3da_2: eax=*(uint32_t*)(var8);
+  L_0x3dd_0: var9=ebp;
+  L_0x3dd_1: var9-=0x4;
+  L_0x3dd_2: *(uint32_t*)(var9)=eax;
+  L_0x3e0_0: var10=ebp;
+  L_0x3e0_1: var10-=0x4;
+  L_0x3e0_2: eax=*(uint32_t*)(var10);
+  L_0x3e3_0: var11=esp;
+  L_0x3e3_1: var11+=0x4;
+  L_0x3e3_2: *(uint32_t*)(var11)=eax;
+  L_0x3e7_0: var12=ebp;
+  L_0x3e7_1: var12-=0x8;
+  L_0x3e7_2: eax=(uint32_t)&*(uint32_t*)(var12);
+  L_0x3ea_0: *(uint32_t*)(esp)=eax;
+  L_0x3ed_0: esp-=4; g__L_0x3b4_0(); esp+=4;
+  L_0x3f2_0: var13=ebp;
+  L_0x3f2_1: var13-=0x4;
+  L_0x3f2_2: *(uint32_t*)(var13)=0x5;
+  L_0x3f9_0: var14=ebp;
+  L_0x3f9_1: var14-=0x8;
+  L_0x3f9_2: eax=*(uint32_t*)(var14);
+  L_0x3fc_0: esp=ebp;
+  L_0x3fc_1: ebp=*(uint32_t*)(esp);
+  L_0x3fc_2: esp+=0x4;
+  L_0x3fd_0: return;
+}
+
+int main()
+{
+  L_0x3fe_0: esp-=0x4;
+  L_0x3fe_1: *(uint32_t*)(esp)=ebp;
+  L_0x3ff_0: ebp=esp;
+  L_0x401_0: esp-=0x14;
+  L_0x404_0: var15=ebp;
+  L_0x404_1: var15-=0x4;
+#ifdef NONDET
+  L_0x404_2: *(uint32_t*)(var15)=nondet_uint();
+#else
+  L_0x404_2: *(uint32_t*)(var15)=0xffffffff;
+#endif
+  L_0x40b_0: var16=ebp;
+  L_0x40b_1: var16-=0x4;
+  L_0x40b_2: eax=*(uint32_t*)(var16);
+  L_0x40e_0: *(uint32_t*)(esp)=eax;
+  L_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
+#if 1
+             uint32_t eax1=eax;
+  C_0x3ff_0: ebp=esp;
+  C_0x401_0: esp-=0x14;
+  C_0x404_0: var15=ebp;
+  C_0x404_1: var15-=0x4;
+#ifdef NONDET
+  C_0x404_2: *(uint32_t*)(var15)=nondet_uint();
+#else
+  C_0x404_2: *(uint32_t*)(var15)=0xffffffff;
+#endif
+  C_0x40b_0: var16=ebp;
+  C_0x40b_1: var16-=0x4;
+  C_0x40b_2: eax=*(uint32_t*)(var16);
+  C_0x40e_0: *(uint32_t*)(esp)=eax;
+  C_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
+             uint32_t eax2=eax;
+             __CPROVER_assert(eax2 == eax1, "");
+#endif
+  L_0x416_0: esp=ebp;
+  L_0x416_1: ebp=*(uint32_t*)(esp);
+  L_0x416_2: esp+=0x4;
+  L_0x417_0: return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Pointer_Arithmetic12/test.desc
+++ cbmc-5.9/regression/cbmc/Pointer_Arithmetic12/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32 --little-endian
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Pointer_array4/main.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <assert.h>
-
-int main()
-{
-  int arrayOfIntegers[] = {1, 2, 3};
-  int *pointer2FirstElem = arrayOfIntegers;
-  int *pointer2ThirdElem = arrayOfIntegers + 2;
-  int iFirst=(int)pointer2FirstElem;
-  int iThird=(int)pointer2ThirdElem;
-  int addrDiff = iThird-iFirst;
-  assert(addrDiff == 2* sizeof(int));
-  return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Pointer_array4/main.i
@@ -0,0 +1,11 @@
+int main()
+{
+  int arrayOfIntegers[] = {1, 2, 3};
+  int *pointer2FirstElem = arrayOfIntegers;
+  int *pointer2ThirdElem = arrayOfIntegers + 2;
+  int iFirst=(int)pointer2FirstElem;
+  int iThird=(int)pointer2ThirdElem;
+  int addrDiff = iThird-iFirst;
+  __CPROVER_assert(addrDiff == 2* sizeof(int), "");
+  return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Pointer_array4/test.desc
+++ cbmc-5.9/regression/cbmc/Pointer_array4/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Pointer_byte_extract5/main.c
+++ /dev/null
@@ -1,45 +0,0 @@
-void *malloc(__CPROVER_size_t);
-
-typedef union
-{
-  int a;
-  int b;
-} Union;
-
-#ifdef __GNUC__
-typedef struct
-{
-  int Count;
-  Union List[1];
-} __attribute__((packed)) Struct3;
-#else
-typedef struct
-{
-  int Count;
-  Union List[1];
-} Struct3;
-#endif
-
-int main()
-{
-  Struct3 *p = malloc(sizeof(Struct3) + sizeof(Union));
-  p->Count = 3;
-  int po=0;
-
-  // this should be fine
-  p->List[0].a = 555;
-
-  __CPROVER_assert(p->List[0].b==555, "p->List[0].b==555");
-  __CPROVER_assert(p->List[0].a==555, "p->List[0].a==555");
-
-  // this should be fine
-  p->List[1].b = 999;
-
-  __CPROVER_assert(p->List[1].b==999, "p->List[1].b==999");
-  __CPROVER_assert(p->List[1].a==999, "p->List[1].a==999");
-
-  // this is out-of-bounds
-  p->List[2].a = 0;
-
-  return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Pointer_byte_extract5/main.i
@@ -0,0 +1,45 @@
+void *malloc(__CPROVER_size_t);
+
+typedef union
+{
+  int a;
+  int b;
+} Union;
+
+#ifdef __GNUC__
+typedef struct
+{
+  int Count;
+  Union List[1];
+} __attribute__((packed)) Struct3;
+#else
+typedef struct
+{
+  int Count;
+  Union List[1];
+} Struct3;
+#endif
+
+int main()
+{
+  Struct3 *p = malloc(sizeof(Struct3) + sizeof(Union));
+  p->Count = 3;
+  int po=0;
+
+  // this should be fine
+  p->List[0].a = 555;
+
+  __CPROVER_assert(p->List[0].b==555, "p->List[0].b==555");
+  __CPROVER_assert(p->List[0].a==555, "p->List[0].a==555");
+
+  // this should be fine
+  p->List[1].b = 999;
+
+  __CPROVER_assert(p->List[1].b==999, "p->List[1].b==999");
+  __CPROVER_assert(p->List[1].a==999, "p->List[1].a==999");
+
+  // this is out-of-bounds
+  p->List[2].a = 0;
+
+  return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Pointer_byte_extract5/no-simplify.desc
+++ cbmc-5.9/regression/cbmc/Pointer_byte_extract5/no-simplify.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --bounds-check --32 --no-simplify
 ^EXIT=10$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Pointer_byte_extract5/test.desc
+++ cbmc-5.9/regression/cbmc/Pointer_byte_extract5/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --bounds-check --32
 ^EXIT=10$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Pointer_byte_extract8/main.c
+++ /dev/null
@@ -1,40 +0,0 @@
-void *malloc(__CPROVER_size_t);
-
-typedef union
-{
-  int a;
-  int b;
-} Union;
-
-typedef struct
-{
-  int Count;
-  Union List[1];
-} __attribute__((packed)) Struct3;
-
-extern size_t __CPROVER_malloc_size;
-
-int main()
-{
-  Struct3 *p = malloc (sizeof (int) + 2 * sizeof(Union));
-  p->Count = 3;
-  int po=0;
-  size_t m=__CPROVER_malloc_size;
-
-  // this should be fine
-  p->List[0].a = 555;
-
-  __CPROVER_assert(p->List[0].b==555, "p->List[0].b==555");
-  __CPROVER_assert(p->List[0].a==555, "p->List[0].a==555");
-
-  // this should be fine
-  p->List[1].b = 999;
-
-  __CPROVER_assert(p->List[1].b==999, "p->List[1].b==999");
-  __CPROVER_assert(p->List[1].a==999, "p->List[1].a==999");
-
-  // this is out-of-bounds
-  p->List[2].a = 0;
-
-  return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Pointer_byte_extract8/main.i
@@ -0,0 +1,40 @@
+void *malloc(__CPROVER_size_t);
+
+typedef union
+{
+  int a;
+  int b;
+} Union;
+
+typedef struct
+{
+  int Count;
+  Union List[1];
+} __attribute__((packed)) Struct3;
+
+extern size_t __CPROVER_malloc_size;
+
+int main()
+{
+  Struct3 *p = malloc (sizeof (int) + 2 * sizeof(Union));
+  p->Count = 3;
+  int po=0;
+  size_t m=__CPROVER_malloc_size;
+
+  // this should be fine
+  p->List[0].a = 555;
+
+  __CPROVER_assert(p->List[0].b==555, "p->List[0].b==555");
+  __CPROVER_assert(p->List[0].a==555, "p->List[0].a==555");
+
+  // this should be fine
+  p->List[1].b = 999;
+
+  __CPROVER_assert(p->List[1].b==999, "p->List[1].b==999");
+  __CPROVER_assert(p->List[1].a==999, "p->List[1].a==999");
+
+  // this is out-of-bounds
+  p->List[2].a = 0;
+
+  return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/Pointer_byte_extract8/test.desc
+++ cbmc-5.9/regression/cbmc/Pointer_byte_extract8/test.desc
@@ -1,5 +1,5 @@
 KNOWNBUG
-main.c
+main.i
 --bounds-check --32 --no-simplify
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/Struct_Padding1/main.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <assert.h>
-
-#define STATIC_ASSERT(condition) \
-  int some_array##__LINE__[(condition) ? 1 : -1]
-
-struct my_struct1
-{
-  int i;
-  char ch;
-
-  struct
-  {
-    // this gets padded
-    int j;
-  };
-
-  // Bit-fields do not get padded in between,
-  // but fill up an integer!
-  unsigned bf1:1;
-  unsigned bf2:28;
-} xx1 =
-{
-  1, 2, { .j=3 }
-};
-
-struct my_struct2
-{
-  int i;
-  char ch[4];
-
-  // no padding needed
-  int j;
-
-  char ch2;
-  // there may be end-padding!
-} xx2;
-
-struct my_struct3 {
-   unsigned int bit_field : 1;
-   int i;
-} xx3= { 1, 2 };
-
-STATIC_ASSERT(sizeof(xx1)==4+1+3+4+4);
-STATIC_ASSERT(sizeof(xx2)==4+4+4+4);
-
-int main()
-{
-  assert(xx1.i==1);
-  assert(xx1.ch==2);
-  assert(xx1.j==3);
-
-  // let's probe the padding
-  char *p=&xx1.ch;
-  assert(p[0]==2);
-  assert(p[1]==0);
-  assert(p[2]==0);
-  assert(p[3]==0);
-
-  assert(xx3.bit_field==1);
-  assert(xx3.i==2);
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/Struct_Padding1/main.i
@@ -0,0 +1,59 @@
+#define STATIC_ASSERT(condition) \
+  int some_array##__LINE__[(condition) ? 1 : -1]
+
+struct my_struct1
+{
+  int i;
+  char ch;
+
+  struct
+  {
+    // this gets padded
+    int j;
+  };
+
+  // Bit-fields do not get padded in between,
+  // but fill up an integer!
+  unsigned bf1:1;
+  unsigned bf2:28;
+} xx1 =
+{
+  1, 2, { .j=3 }
+};
+
+struct my_struct2
+{
+  int i;
+  char ch[4];
+
+  // no padding needed
+  int j;
+
+  char ch2;
+  // there may be end-padding!
+} xx2;
+
+struct my_struct3 {
+   unsigned int bit_field : 1;
+   int i;
+} xx3= { 1, 2 };
+
+STATIC_ASSERT(sizeof(xx1)==4+1+3+4+4);
+STATIC_ASSERT(sizeof(xx2)==4+4+4+4);
+
+int main()
+{
+  __CPROVER_assert(xx1.i==1, "");
+  __CPROVER_assert(xx1.ch==2, "");
+  __CPROVER_assert(xx1.j==3, "");
+
+  // let's probe the padding
+  char *p=&xx1.ch;
+  __CPROVER_assert(p[0]==2, "");
+  __CPROVER_assert(p[1]==0, "");
+  __CPROVER_assert(p[2]==0, "");
+  __CPROVER_assert(p[3]==0, "");
+
+  __CPROVER_assert(xx3.bit_field==1, "");
+  __CPROVER_assert(xx3.i==2, "");
+}
--- cbmc-5.9.orig/regression/cbmc/Struct_Padding1/test.desc
+++ cbmc-5.9/regression/cbmc/Struct_Padding1/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.9.orig/regression/cbmc/address_space_size_limit2/test.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <assert.h>
-
-void *malloc(__CPROVER_size_t);
-
-int main(int argc, char** argv)
-{
-  char* c=(char*)malloc(10);
-  char* d=c;
-  for(char i=0; i<10; i++, d++);
-  assert((size_t)d==(size_t)c+10);
-}
--- cbmc-5.9.orig/regression/cbmc/address_space_size_limit2/test.desc
+++ cbmc-5.9/regression/cbmc/address_space_size_limit2/test.desc
@@ -1,5 +1,5 @@
 KNOWNBUG
-test.c
+test.i
 --32 --object-bits 31 --unwind 11 --no-simplify
 dynamic object too large
 --
--- /dev/null
+++ cbmc-5.9/regression/cbmc/address_space_size_limit2/test.i
@@ -0,0 +1,9 @@
+void *malloc(__CPROVER_size_t);
+
+int main(int argc, char** argv)
+{
+  char* c=(char*)malloc(10);
+  char* d=c;
+  for(char i=0; i<10; i++, d++);
+  __CPROVER_assert((__CPROVER_size_t)d == (__CPROVER_size_t)c + 10, "");
+}
--- cbmc-5.9.orig/regression/cbmc/address_space_size_limit3/main.c
+++ /dev/null
@@ -1,136 +0,0 @@
-// copy of Pointer_Arithmetic12
-
-#include <stdint.h>
-
-#include <assert.h>
-
-uint32_t __stack[32];
-
-uint32_t eax;
-uint32_t ebp;
-uint32_t ebx;
-uint32_t ecx;
-uint32_t edi;
-uint32_t edx;
-uint32_t esi;
-uint32_t esp=(uint32_t)&(__stack[31]);
-uint32_t var0;
-uint32_t var1;
-uint32_t var10;
-uint32_t var11;
-uint32_t var12;
-uint32_t var13;
-uint32_t var14;
-uint32_t var15;
-uint32_t var16;
-uint32_t var2;
-uint32_t var3;
-uint32_t var4;
-uint32_t var5;
-uint32_t var6;
-uint32_t var7;
-uint32_t var8;
-uint32_t var9;
-
-void g__L_0x3b4_0()
-{
-  L_0x3b4_0: esp-=0x4;
-  L_0x3b4_1: *(uint32_t*)(esp)=ebp;
-  L_0x3b5_0: ebp=esp;
-  L_0x3b7_0: var4=ebp;
-  L_0x3b7_1: var4+=0xc;
-  L_0x3b7_2: eax=*(uint32_t*)(var4);
-  L_0x3ba_0: edx=eax;
-  L_0x3bc_0: edx&=0x3;
-  L_0x3bf_0: var5=ebp;
-  L_0x3bf_1: var5+=0x8;
-  L_0x3bf_2: eax=*(uint32_t*)(var5);
-  L_0x3c2_0: *(uint32_t*)(eax)=edx;
-  L_0x3c4_0: ebp=*(uint32_t*)(esp);
-  L_0x3c4_1: esp+=0x4;
-  L_0x3c5_0: return;
-}
-
-void f__L_0x3c6_0()
-{
-  L_0x3c6_0: esp-=0x4;
-  L_0x3c6_1: *(uint32_t*)(esp)=ebp;
-  L_0x3c7_0: ebp=esp;
-  L_0x3c9_0: esp-=0x18;
-  L_0x3cc_0: var6=ebp;
-  L_0x3cc_1: var6-=0x4;
-  L_0x3cc_2: *(uint32_t*)(var6)=0x0;
-  L_0x3d3_0: var7=ebp;
-  L_0x3d3_1: var7-=0x8;
-  L_0x3d3_2: *(uint32_t*)(var7)=0x0;
-  L_0x3da_0: var8=ebp;
-  L_0x3da_1: var8+=0x8;
-  L_0x3da_2: eax=*(uint32_t*)(var8);
-  L_0x3dd_0: var9=ebp;
-  L_0x3dd_1: var9-=0x4;
-  L_0x3dd_2: *(uint32_t*)(var9)=eax;
-  L_0x3e0_0: var10=ebp;
-  L_0x3e0_1: var10-=0x4;
-  L_0x3e0_2: eax=*(uint32_t*)(var10);
-  L_0x3e3_0: var11=esp;
-  L_0x3e3_1: var11+=0x4;
-  L_0x3e3_2: *(uint32_t*)(var11)=eax;
-  L_0x3e7_0: var12=ebp;
-  L_0x3e7_1: var12-=0x8;
-  L_0x3e7_2: eax=(uint32_t)&*(uint32_t*)(var12);
-  L_0x3ea_0: *(uint32_t*)(esp)=eax;
-  L_0x3ed_0: esp-=4; g__L_0x3b4_0(); esp+=4;
-  L_0x3f2_0: var13=ebp;
-  L_0x3f2_1: var13-=0x4;
-  L_0x3f2_2: *(uint32_t*)(var13)=0x5;
-  L_0x3f9_0: var14=ebp;
-  L_0x3f9_1: var14-=0x8;
-  L_0x3f9_2: eax=*(uint32_t*)(var14);
-  L_0x3fc_0: esp=ebp;
-  L_0x3fc_1: ebp=*(uint32_t*)(esp);
-  L_0x3fc_2: esp+=0x4;
-  L_0x3fd_0: return;
-}
-
-int main()
-{
-  L_0x3fe_0: esp-=0x4;
-  L_0x3fe_1: *(uint32_t*)(esp)=ebp;
-  L_0x3ff_0: ebp=esp;
-  L_0x401_0: esp-=0x14;
-  L_0x404_0: var15=ebp;
-  L_0x404_1: var15-=0x4;
-#ifdef NONDET
-  L_0x404_2: *(uint32_t*)(var15)=nondet_uint();
-#else
-  L_0x404_2: *(uint32_t*)(var15)=0xffffffff;
-#endif
-  L_0x40b_0: var16=ebp;
-  L_0x40b_1: var16-=0x4;
-  L_0x40b_2: eax=*(uint32_t*)(var16);
-  L_0x40e_0: *(uint32_t*)(esp)=eax;
-  L_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
-#if 1
-             uint32_t eax1=eax;
-  C_0x3ff_0: ebp=esp;
-  C_0x401_0: esp-=0x14;
-  C_0x404_0: var15=ebp;
-  C_0x404_1: var15-=0x4;
-#ifdef NONDET
-  C_0x404_2: *(uint32_t*)(var15)=nondet_uint();
-#else
-  C_0x404_2: *(uint32_t*)(var15)=0xffffffff;
-#endif
-  C_0x40b_0: var16=ebp;
-  C_0x40b_1: var16-=0x4;
-  C_0x40b_2: eax=*(uint32_t*)(var16);
-  C_0x40e_0: *(uint32_t*)(esp)=eax;
-  C_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
-             uint32_t eax2=eax;
-             assert(eax2==eax1);
-#endif
-  L_0x416_0: esp=ebp;
-  L_0x416_1: ebp=*(uint32_t*)(esp);
-  L_0x416_2: esp+=0x4;
-  L_0x417_0: return 0;
-}
--- /dev/null
+++ cbmc-5.9/regression/cbmc/address_space_size_limit3/main.i
@@ -0,0 +1,134 @@
+// copy of Pointer_Arithmetic12
+
+typedef unsigned int uint32_t;
+
+uint32_t __stack[32];
+
+uint32_t eax;
+uint32_t ebp;
+uint32_t ebx;
+uint32_t ecx;
+uint32_t edi;
+uint32_t edx;
+uint32_t esi;
+uint32_t esp=(uint32_t)&(__stack[31]);
+uint32_t var0;
+uint32_t var1;
+uint32_t var10;
+uint32_t var11;
+uint32_t var12;
+uint32_t var13;
+uint32_t var14;
+uint32_t var15;
+uint32_t var16;
+uint32_t var2;
+uint32_t var3;
+uint32_t var4;
+uint32_t var5;
+uint32_t var6;
+uint32_t var7;
+uint32_t var8;
+uint32_t var9;
+
+void g__L_0x3b4_0()
+{
+  L_0x3b4_0: esp-=0x4;
+  L_0x3b4_1: *(uint32_t*)(esp)=ebp;
+  L_0x3b5_0: ebp=esp;
+  L_0x3b7_0: var4=ebp;
+  L_0x3b7_1: var4+=0xc;
+  L_0x3b7_2: eax=*(uint32_t*)(var4);
+  L_0x3ba_0: edx=eax;
+  L_0x3bc_0: edx&=0x3;
+  L_0x3bf_0: var5=ebp;
+  L_0x3bf_1: var5+=0x8;
+  L_0x3bf_2: eax=*(uint32_t*)(var5);
+  L_0x3c2_0: *(uint32_t*)(eax)=edx;
+  L_0x3c4_0: ebp=*(uint32_t*)(esp);
+  L_0x3c4_1: esp+=0x4;
+  L_0x3c5_0: return;
+}
+
+void f__L_0x3c6_0()
+{
+  L_0x3c6_0: esp-=0x4;
+  L_0x3c6_1: *(uint32_t*)(esp)=ebp;
+  L_0x3c7_0: ebp=esp;
+  L_0x3c9_0: esp-=0x18;
+  L_0x3cc_0: var6=ebp;
+  L_0x3cc_1: var6-=0x4;
+  L_0x3cc_2: *(uint32_t*)(var6)=0x0;
+  L_0x3d3_0: var7=ebp;
+  L_0x3d3_1: var7-=0x8;
+  L_0x3d3_2: *(uint32_t*)(var7)=0x0;
+  L_0x3da_0: var8=ebp;
+  L_0x3da_1: var8+=0x8;
+  L_0x3da_2: eax=*(uint32_t*)(var8);
+  L_0x3dd_0: var9=ebp;
+  L_0x3dd_1: var9-=0x4;
+  L_0x3dd_2: *(uint32_t*)(var9)=eax;
+  L_0x3e0_0: var10=ebp;
+  L_0x3e0_1: var10-=0x4;
+  L_0x3e0_2: eax=*(uint32_t*)(var10);
+  L_0x3e3_0: var11=esp;
+  L_0x3e3_1: var11+=0x4;
+  L_0x3e3_2: *(uint32_t*)(var11)=eax;
+  L_0x3e7_0: var12=ebp;
+  L_0x3e7_1: var12-=0x8;
+  L_0x3e7_2: eax=(uint32_t)&*(uint32_t*)(var12);
+  L_0x3ea_0: *(uint32_t*)(esp)=eax;
+  L_0x3ed_0: esp-=4; g__L_0x3b4_0(); esp+=4;
+  L_0x3f2_0: var13=ebp;
+  L_0x3f2_1: var13-=0x4;
+  L_0x3f2_2: *(uint32_t*)(var13)=0x5;
+  L_0x3f9_0: var14=ebp;
+  L_0x3f9_1: var14-=0x8;
+  L_0x3f9_2: eax=*(uint32_t*)(var14);
+  L_0x3fc_0: esp=ebp;
+  L_0x3fc_1: ebp=*(uint32_t*)(esp);
+  L_0x3fc_2: esp+=0x4;
+  L_0x3fd_0: return;
+}
+
+int main()
+{
+  L_0x3fe_0: esp-=0x4;
+  L_0x3fe_1: *(uint32_t*)(esp)=ebp;
+  L_0x3ff_0: ebp=esp;
+  L_0x401_0: esp-=0x14;
+  L_0x404_0: var15=ebp;
+  L_0x404_1: var15-=0x4;
+#ifdef NONDET
+  L_0x404_2: *(uint32_t*)(var15)=nondet_uint();
+#else
+  L_0x404_2: *(uint32_t*)(var15)=0xffffffff;
+#endif
+  L_0x40b_0: var16=ebp;
+  L_0x40b_1: var16-=0x4;
+  L_0x40b_2: eax=*(uint32_t*)(var16);
+  L_0x40e_0: *(uint32_t*)(esp)=eax;
+  L_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
+#if 1
+             uint32_t eax1=eax;
+  C_0x3ff_0: ebp=esp;
+  C_0x401_0: esp-=0x14;
+  C_0x404_0: var15=ebp;
+  C_0x404_1: var15-=0x4;
+#ifdef NONDET
+  C_0x404_2: *(uint32_t*)(var15)=nondet_uint();
+#else
+  C_0x404_2: *(uint32_t*)(var15)=0xffffffff;
+#endif
+  C_0x40b_0: var16=ebp;
+  C_0x40b_1: var16-=0x4;
+  C_0x40b_2: eax=*(uint32_t*)(var16);
+  C_0x40e_0: *(uint32_t*)(esp)=eax;
+  C_0x411_0: esp-=4; f__L_0x3c6_0(); esp+=4;
+             uint32_t eax2=eax;
+             __CPROVER_assert(eax2 == eax1, "");
+#endif
+  L_0x416_0: esp=ebp;
+  L_0x416_1: ebp=*(uint32_t*)(esp);
+  L_0x416_2: esp+=0x4;
+  L_0x417_0: return 0;
+}
--- cbmc-5.9.orig/regression/cbmc/address_space_size_limit3/test.desc
+++ cbmc-5.9/regression/cbmc/address_space_size_limit3/test.desc
@@ -1,5 +1,5 @@
 CORE
-main.c
+main.i
 --32 --little-endian --object-bits 25 --pointer-check
 ^EXIT=10$
 ^SIGNAL=0$
