From 71f6ba92eee616816a8cfd0c49f84d6563dcf6e3 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 30 Aug 2021 10:13:33 +0100 Subject: [PATCH] compose: Generate endian-dependent compact Compose data The GtkComposeTable cache is always in big-endian format and is byteswapped on load for the more common little-endian CPUs, but init_builtin_table() in GtkIMContextSimple can't byteswap the built-in data without copying it, which is undesirable. Pregenerate both big- and little-endian compose data, and compile the correct flavour into each build of GTK. This fixes failure of the composetable test when building for a big-endian architecture such as s390x and (traditional, big-endian) powerpc. Resolves: https://gitlab.gnome.org/GNOME/gtk/-/issues/4217 Signed-off-by: Simon McVittie --- gtk/compose/compose-parse.c | 30 +++++++++++++++--- gtk/compose/sequences-big-endian | Bin 0 -> 32894 bytes .../{sequences => sequences-little-endian} | Bin gtk/gen-gtk-gresources-xml.py | 9 +++--- gtk/meson.build | 1 + 5 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 gtk/compose/sequences-big-endian rename gtk/compose/{sequences => sequences-little-endian} (100%) diff --git a/gtk/compose/compose-parse.c b/gtk/compose/compose-parse.c index 7a3d511132..a1ec09d00d 100644 --- a/gtk/compose/compose-parse.c +++ b/gtk/compose/compose-parse.c @@ -7,7 +7,7 @@ * character data, and definitions for the builtin compose table of GTK. * Run it like this: * - * compose-parse Compose sequences chars gtkcomposedata.h + * compose-parse Compose sequences-little-endian sequences-big-endian chars gtkcomposedata.h * * The GTK build expects the output files to be in the source tree, in * the gtk/compose directory. @@ -15,15 +15,19 @@ int main (int argc, char *argv[]) { + const guint16 *sequences_le; + const guint16 *sequences_be; + guint16 *other_sequences; GtkComposeTable *table; GError *error = NULL; GString *str; + gsize i; setlocale (LC_ALL, ""); if (argc < 5) { - g_print ("Usage: compose-parse INPUT OUTPUT1 OUTPUT2 OUTPUT3\n"); + g_print ("Usage: compose-parse INPUT SEQUENCES-LE SEQUENCES-BE CHARS HEADER\n"); exit (1); } @@ -31,11 +35,26 @@ main (int argc, char *argv[]) if (!table) g_error ("Failed to parse %s", argv[1]); +#if G_BYTE_ORDER == G_BIG_ENDIAN + sequences_le = other_sequences = g_new0 (guint16, table->data_size); + sequences_be = (const guint16 *) table->data; +#else + sequences_le = (const guint16 *) table->data; + sequences_be = other_sequences = g_new0 (guint16, table->data_size); +#endif + + for (i = 0; i < table->data_size; i++) + other_sequences[i] = GUINT16_SWAP_LE_BE (table->data[i]); + + /* data_size is the size in guint16 */ + if (!g_file_set_contents (argv[2], (char *) sequences_le, 2 * table->data_size, &error)) + g_error ("%s", error->message); + /* data_size is the size in guint16 */ - if (!g_file_set_contents (argv[2], (char *)table->data, 2 * table->data_size, &error)) + if (!g_file_set_contents (argv[3], (char *) sequences_be, 2 * table->data_size, &error)) g_error ("%s", error->message); - if (!g_file_set_contents (argv[3], table->char_data, table->n_chars + 1, &error)) + if (!g_file_set_contents (argv[4], table->char_data, table->n_chars + 1, &error)) g_error ("%s", error->message); str = g_string_new (""); @@ -55,10 +74,11 @@ main (int argc, char *argv[]) "\n" "#endif\n"); - if (!g_file_set_contents (argv[4], str->str, str->len, &error)) + if (!g_file_set_contents (argv[5], str->str, str->len, &error)) g_error ("%s", error->message); g_string_free (str, TRUE); + g_free (other_sequences); return 0; } diff --git a/gtk/compose/sequences-big-endian b/gtk/compose/sequences-big-endian new file mode 100644 index 0000000000000000000000000000000000000000..516577970c68edb630cc0d6f43ebad94fb16ceac GIT binary patch literal 32894 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 @@ -84,13 +85,13 @@ for f in get_files('inspector', '.ui'): xml += ''' inspector/inspector.css emoji/en.data - compose/sequences + compose/sequences-{0}-endian compose/chars -''' +'''.format(endian) -if len(sys.argv) > 2: - outfile = sys.argv[2] +if len(sys.argv) > 3: + outfile = sys.argv[3] tmpfile = outfile + '~' with open(tmpfile, 'w') as f: f.write(xml) diff --git a/gtk/meson.build b/gtk/meson.build index 18fbe6ac61..b123e062b3 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -835,6 +835,7 @@ gtk_gresources_xml = configure_file(output: 'gtk.gresources.xml', command: [ gen_gtk_gresources_xml, meson.current_source_dir(), + host_machine.endian(), '@OUTPUT@' ], ) -- 2.30.2