+2019-10-02  Andreas Arnez  <arnez@linux.ibm.com>
+
+       * gdb.python/py-format-string.c (string.h): New include.
+       (main): Fill a_struct_with_union.the_union.an_int with bytes of
+       the same value, for endianness-independence.
+       * gdb.python/py-format-string.exp (default_regexp_dict)
+       (test_pretty_structs, test_format): Adjust expected output to the
+       changed initialization.
+
 2019-10-02  Tom Tromey  <tromey@adacore.com>
 
        * gdb.ada/catch_ex_std.exp: Add $_ada_exception test.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <string.h>
+
 typedef struct point
 {
   int x;
   struct point another_point = { 123, 456 };
 
   struct_union_t a_struct_with_union;
-  a_struct_with_union.the_union.an_int = 42;
+  /* Fill the union in an endianness-independent way.  */
+  memset (&a_struct_with_union.the_union, 42,
+         sizeof (a_struct_with_union.the_union));
 
   enum_t an_enum = ENUM_BAR;
 
 
   "a_point_t_pointer"          $default_pointer_regexp \
   "a_point_t_ref"              "Pretty Point \\(42, 12\\)" \
   "another_point"              "Pretty Point \\(123, 456\\)" \
-  "a_struct_with_union"                "\\{the_union = \\{an_int = 42, a_char = 42 '\\*'\\}\\}" \
+  "a_struct_with_union"                "\\{the_union = \\{an_int = 707406378, a_char = 42 '\\*'\\}\\}" \
   "an_enum"                    "ENUM_BAR" \
   "a_string"                   "${default_pointer_regexp} \"hello world\"" \
   "a_binary_string"            "${default_pointer_regexp} \"hello\"" \
   global current_lang
 
   set a_struct_with_union_pretty \
-    "\\{\[\r\n\]+  the_union = \\{\[\r\n\]+    an_int = 42,\[\r\n\]+    a_char = 42 '\\*'\[\r\n\]+  \\}\[\r\n\]+\\}"
+    "\\{\[\r\n\]+  the_union = \\{\[\r\n\]+    an_int = 707406378,\[\r\n\]+    a_char = 42 '\\*'\[\r\n\]+  \\}\[\r\n\]+\\}"
 
   check_var_with_bool_opt "pretty_structs" "a_point_t"
   check_var_with_bool_opt "pretty_structs" "a_point_t_pointer"
     check_format_string "a_point_t_pointer" $opts
     check_format_string "another_point" $opts
     check_format_string "a_struct_with_union" $opts \
-      "\\{the_union = \\{an_int = 0x2a, a_char = 0x2a\\}\\}"
+      "\\{the_union = \\{an_int = 0x2a2a2a2a, a_char = 0x2a\\}\\}"
     check_format_string "an_enum" $opts \
       "0x1"
     check_format_string "a_string" $opts \
       $decimal_pointer_regexp
     check_format_string "another_point" $opts
     check_format_string "a_struct_with_union" $opts \
-      "\\{the_union = \\{an_int = 42, a_char = 42\\}\\}"
+      "\\{the_union = \\{an_int = 707406378, a_char = 42\\}\\}"
     check_format_string "an_enum" $opts \
       "1"
     check_format_string "a_string" $opts \