Description: Fix or workaround little-endian assumptions
 Should fix all tests.
 .
 cbmc (5.84.0-9) unstable; urgency=low
 .
   * Disable more tests with portability problems
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: 2023-06-27

--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign-between.c
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign-between.c
@@ -9,7 +9,7 @@ int main()
   x[2] = 0;
   uint8_t *c = x;
   c[1] = 1;
-  assert(x[0] == 256);
+  assert(x[0] == 256 || x[0] == 1);
   assert(x[0] == 0);
   assert(x[1] == 0);
   assert(x[2] == 0);
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign-between.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign-between.desc
@@ -1,7 +1,7 @@
 CORE
 array-misalign-between.c
 
-\[main\.assertion\.1\] line \d+ assertion x\[0\] == 256: SUCCESS
+\[main\.assertion\.1\] line \d+ assertion x\[0\] == 256 \|\| x\[0\] == 1: SUCCESS
 \[main\.assertion\.2\] line \d+ assertion x\[0\] == 0: FAILURE
 \[main\.assertion\.3\] line \d+ assertion x\[1\] == 0: SUCCESS
 \[main\.assertion\.4\] line \d+ assertion x\[2\] == 0: SUCCESS
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign.c
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign.c
@@ -9,7 +9,7 @@ int main()
   x[2] = 0;
   uint8_t *c = x;
   c[1] = 1;
-  assert(x[0] == 256ul);
+  assert(x[0] == 256ul || x[0] == 1ul);
   assert(x[0] == 0ul);
   assert(x[1] == 0ul);
   assert(x[2] == 0ul);
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/array-misalign.desc
@@ -1,7 +1,7 @@
 CORE
 array-misalign.c
 
-\[main.assertion\.1\] line \d+ assertion x\[0\] == 256ul: SUCCESS
+\[main.assertion\.1\] line \d+ assertion x\[0\] == 256ul \|\| x\[0\] == 1ul: SUCCESS
 \[main.assertion\.2\] line \d+ assertion x\[0\] == 0ul: FAILURE
 \[main.assertion\.3\] line \d+ assertion x\[1\] == 0ul: SUCCESS
 \[main.assertion\.4\] line \d+ assertion x\[2\] == 0ul: SUCCESS
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/byte-update-small.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/byte-update-small.desc
@@ -1,6 +1,6 @@
 CORE
 byte-update-small.c
-
+--little-endian
 \[main\.assertion\.1\] line \d+ assertion x\[0\] == 2: SUCCESS
 \[main\.assertion\.2\] line \d+ assertion x\[1\] == 1: SUCCESS
 ^EXIT=0$
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/bitvector-bitwise-operators/byte-update.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/bitvector-bitwise-operators/byte-update.desc
@@ -1,6 +1,6 @@
 CORE
 byte-update.c
-
+--little-endian
 \[main\.assertion\.1\] line \d+ assertion x == 256: SUCCESS
 ^EXIT=0$
 ^SIGNAL=0$
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/pointers-conversions/byte_extract.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/pointers-conversions/byte_extract.desc
@@ -5,8 +5,8 @@ Running incremental SMT2 solving via
 Building error trace
 \[main\.assertion\.\d+\] line \d+ assertion \*ptr != 42: FAILURE
 \[main\.assertion\.\d+\] line \d+ assertion input != original: SUCCESS
-  input=42ul? \(00000000 00000000 00000000 00101010\)
-  original=42ul? \(00000000 00000000 00000000 00101010\)
+  input=(42|704643072)ul? \((00000000|00101010) 00000000 00000000 (00101010|00000000)\)
+  original=(42|704643072)ul? \((00000000|00101010) 00000000 00000000 (00101010|00000000)\)
 Violated property:
   file byte_extract.c function main line \d+ thread \d+
   assertion \*ptr != 42
--- cbmc-5.84.0.orig/regression/cbmc-incr-smt2/pointers-conversions/byte_update.desc
+++ cbmc-5.84.0/regression/cbmc-incr-smt2/pointers-conversions/byte_update.desc
@@ -5,12 +5,12 @@ Running incremental SMT2 solving via
 Building error trace
 \[main\.assertion\.\d+\] line \d+ assertion x != 256u: FAILURE
 State \d+ file byte_update\.c function main line \d+ thread \d
-  offset=1ul? \(00000000 00000000 00000000 00000001\)
+  offset=(1|2)ul? \(00000000 00000000 00000000 000000(01|10)\)
 Assumption:
   file byte_update\.c line \d+ function main
   offset >= 0u && offset < 4u
 State \d+ file byte_update\.c function main line \d+ thread \d+
-  byte_extract_little_endian\(x, \(.*\)offset, uint8_t\)=1 \(00000001\)
+  byte_extract_(little|big)_endian\(x, \(.*\)offset, uint8_t\)=1 \(00000001\)
 Violated property:
   file byte_update.c function main line \d+ thread \d+
   assertion x != 256u
