summary refs log tree commit diff
path: root/locale
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-09-13 09:07:36 +0000
committerUlrich Drepper <drepper@redhat.com>1999-09-13 09:07:36 +0000
commit4a33c2f55eab04206e22ab972a77f62486fe5a97 (patch)
tree3f4efea20d66878b81d2ba1587e16a3133ef65f7 /locale
parent3e95f6602b226e0de06aaff686dc47b282d7cc16 (diff)
downloadglibc-4a33c2f55eab04206e22ab972a77f62486fe5a97.tar.gz
glibc-4a33c2f55eab04206e22ab972a77f62486fe5a97.tar.xz
glibc-4a33c2f55eab04206e22ab972a77f62486fe5a97.zip
Update.
1999-09-13  Ulrich Drepper  <drepper@cygnus.com>

	* locale/langinfo.h: Remove byte-order dependent names.
	* locale/categories.def: Update after removal of byte-order dependent
	names.
	* locale/loadlocale.c (_nl_load_locale): Don't allow locale files
	with magic number in other byte order.
	* locale/newlocale.c (__newlocale): Remove byte-order dependent code.
	* locale/C-collate.c: Remove initializers for other byte-order.
	* locale/C-ctype.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-time.c: Likewise.
	* locale/lc-collate.c: Remove byte-order oriented initialization.
	* locale/lc-ctype.c: Likewise.
	* locale/lc-monetary.c: Likewise.
	* locale/lc-time.c: Likewise.
	* locale/programs/ld-address.c: Don't generate output in both
	byte-orders.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* time/strftime.c (NLW): Don't use different byte-orders.
	* wctype/cname-lookup.h (cname_lookup): Likewise.

	* Makeconfig (localedir): Define using libdir, not datadir.
	(msgcatdir): New variable.
	* catgets/Makefile (CPPFLAGS): Define NLSPATH using msgcatdir.
	* elf/Makefile (bash-ldd-rewrite): Replace @TEXTDOMAINDIR@ using
	msgcatdir.
	* intl/Makefile (install-others): Install locale.alias in msgcatdir.
	(CPPFLAGS): Define paths using msgcatdir.
	* locale/Makefile (CPPFLAGS): Define LOCALE_ALIAS_PATH using msgcatdir.
	* po/Makefile (mo-installed): Define using msgcatdir.

	* sysdeps/unix/sysv/linux/net/if_arp.h: Fix typo.
Diffstat (limited to 'locale')
-rw-r--r--locale/C-collate.c16
-rw-r--r--locale/C-ctype.c90
-rw-r--r--locale/C-monetary.c6
-rw-r--r--locale/C-paper.c6
-rw-r--r--locale/C-time.c1
-rw-r--r--locale/Makefile2
-rw-r--r--locale/categories.def112
-rw-r--r--locale/langinfo.h305
-rw-r--r--locale/lc-collate.c19
-rw-r--r--locale/lc-ctype.c15
-rw-r--r--locale/lc-monetary.c23
-rw-r--r--locale/lc-time.c19
-rw-r--r--locale/loadlocale.c41
-rw-r--r--locale/newlocale.c13
-rw-r--r--locale/programs/ld-address.c17
-rw-r--r--locale/programs/ld-ctype.c361
-rw-r--r--locale/programs/ld-paper.c31
-rw-r--r--locale/programs/ld-time.c420
18 files changed, 290 insertions, 1207 deletions
diff --git a/locale/C-collate.c b/locale/C-collate.c
index 616fed1e3a..6fd0e721be 100644
--- a/locale/C-collate.c
+++ b/locale/C-collate.c
@@ -148,7 +148,7 @@ const struct locale_data _nl_C_LC_COLLATE =
   _nl_C_name,
   NULL, 0, 0, /* no file mapped */
   UNDELETABLE,
-  21,
+  30,
   {
     { word: 0 },
     { string: NULL },
@@ -175,22 +175,10 @@ const struct locale_data _nl_C_LC_COLLATE =
     { string: NULL },
     { string: NULL },
     { word: 223 },
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-    { string: NULL },
-#endif
     { string: (const char *) _nl_C_LC_COLLATE_symbol_hash },
-#if __BYTE_ORDER == __BIG_ENDIAN
-    { string: NULL },
-#endif
     { string: _nl_C_LC_COLLATE_symbol_strings },
     { string: NULL },
     { string: NULL },
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-    { string: NULL },
-#endif
-    { string: (const char *) _nl_C_LC_COLLATE_symbol_classes },
-#if __BYTE_ORDER == __BIG_ENDIAN
-    { string: NULL },
-#endif
+    { string: (const char *) _nl_C_LC_COLLATE_symbol_classes }
   }
 };
diff --git a/locale/C-ctype.c b/locale/C-ctype.c
index f81f5c3ac1..1a1ab5b796 100644
--- a/locale/C-ctype.c
+++ b/locale/C-ctype.c
@@ -343,29 +343,15 @@ const struct locale_data _nl_C_LC_CTYPE =
   _nl_C_name,
   NULL, 0, 0, /* no file mapped */
   UNDELETABLE,
-  15,
+  60,
   {
     { string: _nl_C_LC_CTYPE_class },
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { string: NULL }, { string: NULL },
-#endif
     { string: (const char *) _nl_C_LC_CTYPE_toupper },
     { string: (const char *) _nl_C_LC_CTYPE_tolower },
-#if BYTE_ORDER == BIG_ENDIAN
-    { string: NULL }, { string: NULL },
-#endif
     { string: _nl_C_LC_CTYPE_class32 },
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { string: NULL },
-#endif
     { string: (const char *) _nl_C_LC_CTYPE_names },
-#if BYTE_ORDER == BIG_ENDIAN
-    { string: NULL },
-    { word: 256 }, { word: 1 },
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { word: 0 }, { word: 0 },
-#endif
+    { word: 256 },
+    { word: 1 },
     { string: "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0"
 	      "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0"  "alnum\0"
 	      "left_to_right\0" "right_to_left\0" "num_terminator\0"
@@ -378,14 +364,7 @@ const struct locale_data _nl_C_LC_CTYPE =
     { string: _nl_C_LC_CTYPE_width },
     { word: 1 },
     { string: "ANSI_X3.4-1968" },
-#if BYTE_ORDER == BIG_ENDIAN
-    { word: 0 }, { word: 0 },
-    { word: 1 }, { word: 0 },
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { word: 256 }, { word: 1 },
-    { word: 0 }, { word: 1 },
-#endif
+    { word: 1 },
     { string: "0" },
     { string: "1" },
     { string: "2" },
@@ -396,24 +375,7 @@ const struct locale_data _nl_C_LC_CTYPE =
     { string: "7" },
     { string: "8" },
     { string: "9" },
-#if BYTE_ORDER == BIG_ENDIAN
-    { word: 1 }, { word: 0 },
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { word: 0 }, { word: 1 },
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-#endif
+    { word: 1 },
     { wstr: (uint32_t *) L"0" },
     { wstr: (uint32_t *) L"1" },
     { wstr: (uint32_t *) L"2" },
@@ -424,18 +386,6 @@ const struct locale_data _nl_C_LC_CTYPE =
     { wstr: (uint32_t *) L"7" },
     { wstr: (uint32_t *) L"8" },
     { wstr: (uint32_t *) L"9" },
-#if BYTE_ORDER == BIG_ENDIAN
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-    { wstr: (uint32_t *) L"" },
-#endif
     { string: "0" },
     { string: "1" },
     { string: "2" },
@@ -446,18 +396,6 @@ const struct locale_data _nl_C_LC_CTYPE =
     { string: "7" },
     { string: "8" },
     { string: "9" },
-#if BYTE_ORDER == LITTLE_ENDIAN
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-#endif
     { word: L'0' },
     { word: L'1' },
     { word: L'2' },
@@ -468,29 +406,11 @@ const struct locale_data _nl_C_LC_CTYPE =
     { word: L'7' },
     { word: L'8' },
     { word: L'9' },
-#if BYTE_ORDER == BIG_ENDIAN
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-    { word: L'\0' },
-#endif
-    { word: 0 },
-    { word: 0 },
     { word: 0 },
     { word: 0 },
     { string: "" },
     { string: "" },
     { string: "" },
-    { string: "" },
-    { string: "" },
-    { string: "" },
-    { string: "" },
     { string: "" }
   }
 };
diff --git a/locale/C-monetary.c b/locale/C-monetary.c
index 3cb1a57b4e..d82166c6fc 100644
--- a/locale/C-monetary.c
+++ b/locale/C-monetary.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -33,7 +33,7 @@ const struct locale_data _nl_C_LC_MONETARY =
   _nl_C_name,
   NULL, 0, 0, /* no file mapped */
   UNDELETABLE,
-  49,
+  43,
   {
     { string: "" },
     { string: "" },
diff --git a/locale/C-paper.c b/locale/C-paper.c
index 9bd1cdcbdb..fa3e8557d7 100644
--- a/locale/C-paper.c
+++ b/locale/C-paper.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -29,11 +29,9 @@ const struct locale_data _nl_C_LC_PAPER =
   _nl_C_name,
   NULL, 0, 0, /* no file mapped */
   UNDELETABLE,
-  4,
+  2,
   {
     { word: 297 },
-    { word: 297 },
-    { word: 210 },
     { word: 210 }
   }
 };
diff --git a/locale/C-time.c b/locale/C-time.c
index 34ed40507f..9be32c06b3 100644
--- a/locale/C-time.c
+++ b/locale/C-time.c
@@ -82,7 +82,6 @@ const struct locale_data _nl_C_LC_TIME =
     { string: "" },
     { word: 0 },
     { string: "" },
-    { string: "" },
     { wstr: (const uint32_t *) L"Sun" },
     { wstr: (const uint32_t *) L"Mon" },
     { wstr: (const uint32_t *) L"Tue" },
diff --git a/locale/Makefile b/locale/Makefile
index 622d7f1873..84c73ba8b2 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -79,7 +79,7 @@ localepath = "$(localedir):$(i18ndir)"
 
 CPPFLAGS := -DLOCALE_PATH='$(localepath)' \
 	    -DLOCALEDIR='"$(localedir)"' \
-	    -DLOCALE_ALIAS_PATH='"$(localedir):$(i18ndir)"' \
+	    -DLOCALE_ALIAS_PATH='"$(msgcatdir):$(i18ndir)"' \
 	    -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
 	    -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \
 	    -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \
diff --git a/locale/categories.def b/locale/categories.def
index 36020cf1a6..4a617875d2 100644
--- a/locale/categories.def
+++ b/locale/categories.def
@@ -46,23 +46,17 @@ DEFINE_CATEGORY
   DEFINE_ELEMENT (_NL_COLLATE_RULES,          "collate-rules",            std, string)
   DEFINE_ELEMENT (_NL_COLLATE_HASH_SIZE,      "collate-hash-size",        std, word)
   DEFINE_ELEMENT (_NL_COLLATE_HASH_LAYERS,    "collate-hash-layers",      std, word)
-  DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EB,     "collate-tablewc-eb",       std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EL,     "collate-tablewc-el",       std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_TABLEWC,        "collate-tablewc",          std, string)
   DEFINE_ELEMENT (_NL_COLLATE_UNDEFINED_WC,   "collate-undefined-wc",     std, word)
-  DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EB,     "collate-extrawc-eb",       std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EL,     "collate-extrawc-el",       std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC,        "collate-extrawc",          std, string)
   DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_SIZE, "collate-elem-hash-size",   std, word)
-  DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EB,   "collate-elem-hash-eb",     std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EL,   "collate-elem-hash-el",     std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH,      "collate-elem-hash",        std, string)
   DEFINE_ELEMENT (_NL_COLLATE_ELEM_STR_POOL,  "collate-elem-str-pool",    std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EB,    "collate-elem-val-eb",      std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EL,    "collate-elem-val-el",      std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL,       "collate-elem-val",         std, string)
   DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_SIZE, "collate-symb-hash-size",   std, word)
-  DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EB,   "collate-symb-hash-eb",     std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EL,   "collate-symb-hash-el",     std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH,      "collate-symb-hash",        std, string)
   DEFINE_ELEMENT (_NL_COLLATE_SYMB_STR_POOL,  "collate-symb-str-pool",    std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EB, "collate-symb-classwc-eb", std, string)
-  DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EL, "collate-symb-classwc-el", std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC,   "collate-symb-classwc",     std, string)
   ), _nl_postload_collate)
 
 
@@ -73,31 +67,21 @@ DEFINE_CATEGORY
 (
  LC_CTYPE, "LC_CTYPE",
  (
-  DEFINE_ELEMENT (_NL_CTYPE_CLASS,	    "ctype-class",          std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EB,     "ctype-toupper-eb",     std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EB,     "ctype-tolower-eb",     std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EL,     "ctype-toupper-el",     std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EL,     "ctype-tolower-el",     std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_CLASS32,        "ctype-class32",        std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_NAMES_EB,	    "ctype-names-eb",       std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_NAMES_EL,	    "ctype-names-el",       std, string)
-  DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EB,   "ctype-hash-size-eb",   std, word)
-  DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EL,   "ctype-hash-size-el",   std, word)
-  DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EB, "ctype-hash-layers-eb", std, word)
-  DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EL, "ctype-hash-layers-el", std, word)
-  DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES,    "ctype-class-names",    std, stringlist)
-  DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES,	    "ctype-map-names",      std, stringlist)
-  DEFINE_ELEMENT (_NL_CTYPE_WIDTH,	    "ctype-width",          std, bytearray)
-  DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX,	    "ctype-mb-cur-max",     std, word)
-  DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME,   "charmap",		    std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS,	  "ctype-class",        std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_TOUPPER,      "ctype-toupper",      std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_TOLOWER,      "ctype-tolower",      std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS32,      "ctype-class32",      std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_NAMES,	  "ctype-names",        std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE,    "ctype-hash-size",    std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS,  "ctype-hash-layers",  std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES,  "ctype-class-names",  std, stringlist)
+  DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES,	  "ctype-map-names",    std, stringlist)
+  DEFINE_ELEMENT (_NL_CTYPE_WIDTH,	  "ctype-width",        std, bytearray)
+  DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX,	  "ctype-mb-cur-max",   std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME, "charmap",		std, string)
   ), _nl_postload_ctype)
 
 
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EB
-#else
-# define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EL
-#endif
 DEFINE_CATEGORY
 (
  LC_MONETARY, "LC_MONETARY",
@@ -143,8 +127,7 @@ DEFINE_CATEGORY
   DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_TO,           "uno_valid_to",           std, word)
   DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_FROM,         "duo_valid_from",         std, word)
   DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_TO,           "duo_valid_to",           std, word)
-  DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EB,     "conversion_rate-eb",      std, wordarray, 2, 2)
-  DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EL,     "conversion_rate-el",      std, wordarray, 2, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE,        "conversion_rate",         std, wordarray, 2, 2)
   ), NO_POSTLOAD)
 
 
@@ -177,38 +160,22 @@ DEFINE_CATEGORY
   DEFINE_ELEMENT (ALT_DIGITS,  "alt_digits",  opt, stringarray,  0, 100)
   DEFINE_ELEMENT (ERA_D_T_FMT, "era_d_t_fmt", opt, string)
   DEFINE_ELEMENT (ERA_T_FMT,   "era_t_fmt",   opt, string)
-  DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EB, "time-era-num-entries-eb", opt, word)
-  DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EL, "time-era-num-entries-el", opt, word)
-  DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EB,  "time-era-entries-eb", opt, string)
-  DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EL,  "time-era-entries-el", opt, string)
-  DEFINE_ELEMENT (_NL_WABDAY_1_EB,  "wide-abday-eb",    std, stringarray,  7,  7)
-  DEFINE_ELEMENT (_NL_WABDAY_1_EL,  "wide-abday-el",    std, stringarray,  7,  7)
-  DEFINE_ELEMENT (_NL_WDAY_1_EB,    "wide-day-eb",      std, stringarray,  7,  7)
-  DEFINE_ELEMENT (_NL_WDAY_1_EL,    "wide-day-el",      std, stringarray,  7,  7)
-  DEFINE_ELEMENT (_NL_WABMON_1_EB,  "wide-abmon-eb",    std, stringarray, 12, 12)
-  DEFINE_ELEMENT (_NL_WABMON_1_EL,  "wide-abmon-el",    std, stringarray, 12, 12)
-  DEFINE_ELEMENT (_NL_WMON_1_EB,    "wide-mon-eb",      std, stringarray, 12, 12)
-  DEFINE_ELEMENT (_NL_WMON_1_EL,    "wide-mon-el",      std, stringarray, 12, 12)
-  DEFINE_ELEMENT (_NL_WAM_STR_EB,   "wide-am_pm-eb",    std, stringarray,  2,  2)
-  DEFINE_ELEMENT (_NL_WAM_STR_EL,   "wide-am_pm-el",    std, stringarray,  2,  2)
-  DEFINE_ELEMENT (_NL_WD_T_FMT_EB,  "wide-d_t_fmt-eb",  std, string)
-  DEFINE_ELEMENT (_NL_WD_T_FMT_EL,  "wide-d_t_fmt-el",  std, string)
-  DEFINE_ELEMENT (_NL_WD_FMT_EB,    "wide-d_fmt-eb",    std, string)
-  DEFINE_ELEMENT (_NL_WD_FMT_EL,    "wide-d_fmt-el",    std, string)
-  DEFINE_ELEMENT (_NL_WT_FMT_EB,    "wide-t_fmt-eb",    std, string)
-  DEFINE_ELEMENT (_NL_WT_FMT_EL,    "wide-t_fmt-el",    std, string)
-  DEFINE_ELEMENT (_NL_WT_FMT_AMPM_EB, "wide-t_fmt_ampm-eb", std, string)
-  DEFINE_ELEMENT (_NL_WT_FMT_AMPM_EL, "wide-t_fmt_ampm-el", std, string)
-  DEFINE_ELEMENT (_NL_WERA_YEAR_EB,   "wide-era_year-eb",    opt, string)
-  DEFINE_ELEMENT (_NL_WERA_YEAR_EL,   "wide-era_year-el",    opt, string)
-  DEFINE_ELEMENT (_NL_WERA_D_FMT_EB,  "wide-era_d_fmt-eb",   opt, string)
-  DEFINE_ELEMENT (_NL_WERA_D_FMT_EL,  "wide-era_d_fmt-el",   opt, string)
-  DEFINE_ELEMENT (_NL_WALT_DIGITS_EB,  "wide-alt_digits-eb",  opt, stringarray,  0, 100)
-  DEFINE_ELEMENT (_NL_WALT_DIGITS_EL,  "wide-alt_digits-el",  opt, stringarray,  0, 100)
-  DEFINE_ELEMENT (_NL_WERA_D_T_FMT_EB, "wide-era_d_t_fmt-eb", opt, string)
-  DEFINE_ELEMENT (_NL_WERA_D_T_FMT_EL, "wide-era_d_t_fmt-el", opt, string)
-  DEFINE_ELEMENT (_NL_WERA_T_FMT_EB,   "wide-era_t_fmt-eb",   opt, string)
-  DEFINE_ELEMENT (_NL_WERA_T_FMT_EL,   "wide-era_t_fmt-el",   opt, string)
+  DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES,    "time-era-num-entries",    opt, word)
+  DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES,   "time-era-entries", opt, string)
+  DEFINE_ELEMENT (_NL_WABDAY_1,  "wide-abday",    std, stringarray,  7,  7)
+  DEFINE_ELEMENT (_NL_WDAY_1,    "wide-day",      std, stringarray,  7,  7)
+  DEFINE_ELEMENT (_NL_WABMON_1,  "wide-abmon",    std, stringarray, 12, 12)
+  DEFINE_ELEMENT (_NL_WMON_1,    "wide-mon",      std, stringarray, 12, 12)
+  DEFINE_ELEMENT (_NL_WAM_STR,   "wide-am_pm",    std, stringarray,  2,  2)
+  DEFINE_ELEMENT (_NL_WD_T_FMT,  "wide-d_t_fmt",  std, string)
+  DEFINE_ELEMENT (_NL_WD_FMT,    "wide-d_fmt",    std, string)
+  DEFINE_ELEMENT (_NL_WT_FMT,    "wide-t_fmt",    std, string)
+  DEFINE_ELEMENT (_NL_WT_FMT_AMPM, "wide-t_fmt_ampm", std, string)
+  DEFINE_ELEMENT (_NL_WERA_YEAR,   "wide-era_year",    opt, string)
+  DEFINE_ELEMENT (_NL_WERA_D_FMT,  "wide-era_d_fmt",   opt, string)
+  DEFINE_ELEMENT (_NL_WALT_DIGITS,  "wide-alt_digits",  opt, stringarray,  0, 100)
+  DEFINE_ELEMENT (_NL_WERA_D_T_FMT, "wide-era_d_t_fmt", opt, string)
+  DEFINE_ELEMENT (_NL_WERA_T_FMT,   "wide-era_t_fmt",   opt, string)
   DEFINE_ELEMENT (_NL_TIME_WEEK_NDAYS,      "week-ndays",          std, byte)
   DEFINE_ELEMENT (_NL_TIME_WEEK_1STDAY,     "week-1stday",         std, word)
   DEFINE_ELEMENT (_NL_TIME_WEEK_1STWEEK,    "week-1stweek",        std, byte)
@@ -233,10 +200,8 @@ DEFINE_CATEGORY
 (
  LC_PAPER, "LC_PAPER",
  (
-  DEFINE_ELEMENT (_NL_PAPER_HEIGHT_EB, "height-eb", std, word)
-  DEFINE_ELEMENT (_NL_PAPER_HEIGHT_EL, "height-el", std, word)
-  DEFINE_ELEMENT (_NL_PAPER_WIDTH_EB,  "width-eb",  std, word)
-  DEFINE_ELEMENT (_NL_PAPER_WIDTH_EL,  "width-el",  std, word)
+  DEFINE_ELEMENT (_NL_PAPER_HEIGHT, "height", std, word)
+  DEFINE_ELEMENT (_NL_PAPER_WIDTH,  "width",  std, word)
   ), NO_POSTLOAD)
 
 DEFINE_CATEGORY
@@ -261,8 +226,7 @@ DEFINE_CATEGORY
   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB2,     "country_ab2",     std, string)
   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB3,     "country_ab3",     std, string)
   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_CAR,     "country_car",     std, string)
-  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM_EB,  "country_num-eb",  std, word)
-  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM_EL,  "country_num-el",  std, word)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM,     "country_num",     std, word)
   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_ISBN,    "country_isbn",    std, string)
   DEFINE_ELEMENT (_NL_ADDRESS_LANG_NAME,       "lang_name",       std, string)
   DEFINE_ELEMENT (_NL_ADDRESS_LANG_AB,         "lang_ab",         std, string)
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 2513adc86d..b6090bd0f8 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -155,118 +155,67 @@ enum
   ERA_T_FMT,			/* Time in alternate era format.  */
 #define ERA_T_FMT		ERA_T_FMT
 
-  _NL_TIME_ERA_NUM_ENTRIES_EB,	/* Number entries in the era arrays.  */
-  _NL_TIME_ERA_NUM_ENTRIES_EL,	/* Number entries in the era arrays.  */
-  _NL_TIME_ERA_ENTRIES_EB,	/* Structure with era entries in usable form.*/
-  _NL_TIME_ERA_ENTRIES_EL,
-
-  _NL_WABDAY_1_EB, /* Sun */
-  _NL_WABDAY_2_EB,
-  _NL_WABDAY_3_EB,
-  _NL_WABDAY_4_EB,
-  _NL_WABDAY_5_EB,
-  _NL_WABDAY_6_EB,
-  _NL_WABDAY_7_EB,
-  _NL_WABDAY_1_EL, /* Sun */
-  _NL_WABDAY_2_EL,
-  _NL_WABDAY_3_EL,
-  _NL_WABDAY_4_EL,
-  _NL_WABDAY_5_EL,
-  _NL_WABDAY_6_EL,
-  _NL_WABDAY_7_EL,
+  _NL_TIME_ERA_NUM_ENTRIES,	/* Number entries in the era arrays.  */
+  _NL_TIME_ERA_ENTRIES,		/* Structure with era entries in usable form.*/
+
+  _NL_WABDAY_1,		/* Sun */
+  _NL_WABDAY_2,
+  _NL_WABDAY_3,
+  _NL_WABDAY_4,
+  _NL_WABDAY_5,
+  _NL_WABDAY_6,
+  _NL_WABDAY_7,
 
   /* Long-named days of the week. */
-  _NL_WDAY_1_EB,		/* Sunday */
-  _NL_WDAY_2_EB,		/* Monday */
-  _NL_WDAY_3_EB,		/* Tuesday */
-  _NL_WDAY_4_EB,		/* Wednesday */
-  _NL_WDAY_5_EB,		/* Thursday */
-  _NL_WDAY_6_EB,		/* Friday */
-  _NL_WDAY_7_EB,		/* Saturday */
-  _NL_WDAY_1_EL,		/* Sunday */
-  _NL_WDAY_2_EL,		/* Monday */
-  _NL_WDAY_3_EL,		/* Tuesday */
-  _NL_WDAY_4_EL,		/* Wednesday */
-  _NL_WDAY_5_EL,		/* Thursday */
-  _NL_WDAY_6_EL,		/* Friday */
-  _NL_WDAY_7_EL,		/* Saturday */
+  _NL_WDAY_1,		/* Sunday */
+  _NL_WDAY_2,		/* Monday */
+  _NL_WDAY_3,		/* Tuesday */
+  _NL_WDAY_4,		/* Wednesday */
+  _NL_WDAY_5,		/* Thursday */
+  _NL_WDAY_6,		/* Friday */
+  _NL_WDAY_7,		/* Saturday */
 
   /* Abbreviated month names.  */
-  _NL_WABMON_1_EB,		/* Jan */
-  _NL_WABMON_2_EB,
-  _NL_WABMON_3_EB,
-  _NL_WABMON_4_EB,
-  _NL_WABMON_5_EB,
-  _NL_WABMON_6_EB,
-  _NL_WABMON_7_EB,
-  _NL_WABMON_8_EB,
-  _NL_WABMON_9_EB,
-  _NL_WABMON_10_EB,
-  _NL_WABMON_11_EB,
-  _NL_WABMON_12_EB,
-  _NL_WABMON_1_EL,		/* Jan */
-  _NL_WABMON_2_EL,
-  _NL_WABMON_3_EL,
-  _NL_WABMON_4_EL,
-  _NL_WABMON_5_EL,
-  _NL_WABMON_6_EL,
-  _NL_WABMON_7_EL,
-  _NL_WABMON_8_EL,
-  _NL_WABMON_9_EL,
-  _NL_WABMON_10_EL,
-  _NL_WABMON_11_EL,
-  _NL_WABMON_12_EL,
+  _NL_WABMON_1,		/* Jan */
+  _NL_WABMON_2,
+  _NL_WABMON_3,
+  _NL_WABMON_4,
+  _NL_WABMON_5,
+  _NL_WABMON_6,
+  _NL_WABMON_7,
+  _NL_WABMON_8,
+  _NL_WABMON_9,
+  _NL_WABMON_10,
+  _NL_WABMON_11,
+  _NL_WABMON_12,
 
   /* Long month names.  */
-  _NL_WMON_1_EB,		/* January */
-  _NL_WMON_2_EB,
-  _NL_WMON_3_EB,
-  _NL_WMON_4_EB,
-  _NL_WMON_5_EB,
-  _NL_WMON_6_EB,
-  _NL_WMON_7_EB,
-  _NL_WMON_8_EB,
-  _NL_WMON_9_EB,
-  _NL_WMON_10_EB,
-  _NL_WMON_11_EB,
-  _NL_WMON_12_EB,
-  _NL_WMON_1_EL,		/* January */
-  _NL_WMON_2_EL,
-  _NL_WMON_3_EL,
-  _NL_WMON_4_EL,
-  _NL_WMON_5_EL,
-  _NL_WMON_6_EL,
-  _NL_WMON_7_EL,
-  _NL_WMON_8_EL,
-  _NL_WMON_9_EL,
-  _NL_WMON_10_EL,
-  _NL_WMON_11_EL,
-  _NL_WMON_12_EL,
-
-  _NL_WAM_STR_EB,		/* Ante meridian string.  */
-  _NL_WPM_STR_EB,		/* Post meridian string.  */
-  _NL_WAM_STR_EL,		/* Ante meridian string.  */
-  _NL_WPM_STR_EL,		/* Post meridian string.  */
-
-  _NL_WD_T_FMT_EB,		/* Date and time format for strftime.  */
-  _NL_WD_FMT_EB,		/* Date format for strftime.  */
-  _NL_WT_FMT_EB,		/* Time format for strftime.  */
-  _NL_WT_FMT_AMPM_EB,		/* 12-hour time format for strftime.  */
-  _NL_WD_T_FMT_EL,		/* Date and time format for strftime.  */
-  _NL_WD_FMT_EL,		/* Date format for strftime.  */
-  _NL_WT_FMT_EL,		/* Time format for strftime.  */
-  _NL_WT_FMT_AMPM_EL,		/* 12-hour time format for strftime.  */
-
-  _NL_WERA_YEAR_EB,		/* Year in alternate era format.  */
-  _NL_WERA_D_FMT_EB,		/* Date in alternate era format.  */
-  _NL_WALT_DIGITS_EB,		/* Alternate symbols for digits.  */
-  _NL_WERA_D_T_FMT_EB,		/* Date and time in alternate era format.  */
-  _NL_WERA_T_FMT_EB,		/* Time in alternate era format.  */
-  _NL_WERA_YEAR_EL,		/* Year in alternate era format.  */
-  _NL_WERA_D_FMT_EL,		/* Date in alternate era format.  */
-  _NL_WALT_DIGITS_EL,		/* Alternate symbols for digits.  */
-  _NL_WERA_D_T_FMT_EL,		/* Date and time in alternate era format.  */
-  _NL_WERA_T_FMT_EL,		/* Time in alternate era format.  */
+  _NL_WMON_1,		/* January */
+  _NL_WMON_2,
+  _NL_WMON_3,
+  _NL_WMON_4,
+  _NL_WMON_5,
+  _NL_WMON_6,
+  _NL_WMON_7,
+  _NL_WMON_8,
+  _NL_WMON_9,
+  _NL_WMON_10,
+  _NL_WMON_11,
+  _NL_WMON_12,
+
+  _NL_WAM_STR,		/* Ante meridian string.  */
+  _NL_WPM_STR,		/* Post meridian string.  */
+
+  _NL_WD_T_FMT,		/* Date and time format for strftime.  */
+  _NL_WD_FMT,		/* Date format for strftime.  */
+  _NL_WT_FMT,		/* Time format for strftime.  */
+  _NL_WT_FMT_AMPM,	/* 12-hour time format for strftime.  */
+
+  _NL_WERA_YEAR,	/* Year in alternate era format.  */
+  _NL_WERA_D_FMT,	/* Date in alternate era format.  */
+  _NL_WALT_DIGITS,	/* Alternate symbols for digits.  */
+  _NL_WERA_D_T_FMT,	/* Date and time in alternate era format.  */
+  _NL_WERA_T_FMT,	/* Time in alternate era format.  */
 
   _NL_TIME_WEEK_NDAYS,
   _NL_TIME_WEEK_1STDAY,
@@ -285,49 +234,35 @@ enum
   _NL_COLLATE_RULES,
   _NL_COLLATE_HASH_SIZE,
   _NL_COLLATE_HASH_LAYERS,
-  _NL_COLLATE_TABLEMB_EB,
-  _NL_COLLATE_TABLEMB_EL,
-  _NL_COLLATE_TABLEWC_EB,
-  _NL_COLLATE_TABLEWC_EL,
+  _NL_COLLATE_TABLEMB,
+  _NL_COLLATE_TABLEWC,
   _NL_COLLATE_UNDEFINED_MB,
   _NL_COLLATE_UNDEFINED_WC,
-  _NL_COLLATE_EXTRAMB_EB,
-  _NL_COLLATE_EXTRAMB_EL,
-  _NL_COLLATE_EXTRAWC_EB,
-  _NL_COLLATE_EXTRAWC_EL,
+  _NL_COLLATE_EXTRAMB,
+  _NL_COLLATE_EXTRAWC,
   _NL_COLLATE_ELEM_HASH_SIZE,
-  _NL_COLLATE_ELEM_HASH_EB,
-  _NL_COLLATE_ELEM_HASH_EL,
+  _NL_COLLATE_ELEM_HASH,
   _NL_COLLATE_ELEM_STR_POOL,
-  _NL_COLLATE_ELEM_VAL_EB,
-  _NL_COLLATE_ELEM_VAL_EL,
-  _NL_COLLATE_ELEM_VALMB_EB,
-  _NL_COLLATE_ELEM_VALMB_EL,
-  _NL_COLLATE_ELEM_VALWC_EB,
-  _NL_COLLATE_ELEM_VALWC_EL,
+  _NL_COLLATE_ELEM_VAL,
+  _NL_COLLATE_ELEM_VALMB,
+  _NL_COLLATE_ELEM_VALWC,
   _NL_COLLATE_SYMB_HASH_SIZE,
-  _NL_COLLATE_SYMB_HASH_EB,
-  _NL_COLLATE_SYMB_HASH_EL,
+  _NL_COLLATE_SYMB_HASH,
   _NL_COLLATE_SYMB_STR_POOL,
-  _NL_COLLATE_SYMB_CLASSMB_EB,
-  _NL_COLLATE_SYMB_CLASSMB_EL,
-  _NL_COLLATE_SYMB_CLASSWC_EB,
-  _NL_COLLATE_SYMB_CLASSWC_EL,
+  _NL_COLLATE_SYMB_CLASSMB,
+  _NL_COLLATE_SYMB_CLASSWC,
   _NL_NUM_LC_COLLATE,
 
   /* LC_CTYPE category: character classification.
      This information is accessed by the functions in <ctype.h>.
      These `nl_langinfo' names are used only internally.  */
   _NL_CTYPE_CLASS = _NL_ITEM (LC_CTYPE, 0),
-  _NL_CTYPE_TOUPPER_EB,
-  _NL_CTYPE_TOLOWER_EB,
-  _NL_CTYPE_TOUPPER_EL,
-  _NL_CTYPE_TOLOWER_EL,
+  _NL_CTYPE_TOUPPER,
+  _NL_CTYPE_TOLOWER,
   _NL_CTYPE_CLASS32,
-  _NL_CTYPE_NAMES_EB,
-  _NL_CTYPE_NAMES_EL,
-  _NL_CTYPE_HASH_SIZE_EB,
-  _NL_CTYPE_HASH_LAYERS_EB,
+  _NL_CTYPE_NAMES,
+  _NL_CTYPE_HASH_SIZE,
+  _NL_CTYPE_HASH_LAYERS,
   _NL_CTYPE_CLASS_NAMES,
   _NL_CTYPE_MAP_NAMES,
   _NL_CTYPE_WIDTH,
@@ -336,10 +271,7 @@ enum
 #ifdef __USE_XOPEN
   CODESET = _NL_CTYPE_CODESET_NAME,
 #endif
-  _NL_CTYPE_HASH_SIZE_EL,
-  _NL_CTYPE_HASH_LAYERS_EL,
-  _NL_CTYPE_INDIGITS_MB_LEN_EB,
-  _NL_CTYPE_INDIGITS_MB_LEN_EL,
+  _NL_CTYPE_INDIGITS_MB_LEN,
   _NL_CTYPE_INDIGITS0_MB,
   _NL_CTYPE_INDIGITS1_MB,
   _NL_CTYPE_INDIGITS2_MB,
@@ -350,28 +282,17 @@ enum
   _NL_CTYPE_INDIGITS7_MB,
   _NL_CTYPE_INDIGITS8_MB,
   _NL_CTYPE_INDIGITS9_MB,
-  _NL_CTYPE_INDIGITS_WC_LEN_EB,
-  _NL_CTYPE_INDIGITS_WC_LEN_EL,
-  _NL_CTYPE_INDIGITS0_WC_EB,
-  _NL_CTYPE_INDIGITS1_WC_EB,
-  _NL_CTYPE_INDIGITS2_WC_EB,
-  _NL_CTYPE_INDIGITS3_WC_EB,
-  _NL_CTYPE_INDIGITS4_WC_EB,
-  _NL_CTYPE_INDIGITS5_WC_EB,
-  _NL_CTYPE_INDIGITS6_WC_EB,
-  _NL_CTYPE_INDIGITS7_WC_EB,
-  _NL_CTYPE_INDIGITS8_WC_EB,
-  _NL_CTYPE_INDIGITS9_WC_EB,
-  _NL_CTYPE_INDIGITS0_WC_EL,
-  _NL_CTYPE_INDIGITS1_WC_EL,
-  _NL_CTYPE_INDIGITS2_WC_EL,
-  _NL_CTYPE_INDIGITS3_WC_EL,
-  _NL_CTYPE_INDIGITS4_WC_EL,
-  _NL_CTYPE_INDIGITS5_WC_EL,
-  _NL_CTYPE_INDIGITS6_WC_EL,
-  _NL_CTYPE_INDIGITS7_WC_EL,
-  _NL_CTYPE_INDIGITS8_WC_EL,
-  _NL_CTYPE_INDIGITS9_WC_EL,
+  _NL_CTYPE_INDIGITS_WC_LEN,
+  _NL_CTYPE_INDIGITS0_WC,
+  _NL_CTYPE_INDIGITS1_WC,
+  _NL_CTYPE_INDIGITS2_WC,
+  _NL_CTYPE_INDIGITS3_WC,
+  _NL_CTYPE_INDIGITS4_WC,
+  _NL_CTYPE_INDIGITS5_WC,
+  _NL_CTYPE_INDIGITS6_WC,
+  _NL_CTYPE_INDIGITS7_WC,
+  _NL_CTYPE_INDIGITS8_WC,
+  _NL_CTYPE_INDIGITS9_WC,
   _NL_CTYPE_OUTDIGIT0_MB,
   _NL_CTYPE_OUTDIGIT1_MB,
   _NL_CTYPE_OUTDIGIT2_MB,
@@ -382,38 +303,22 @@ enum
   _NL_CTYPE_OUTDIGIT7_MB,
   _NL_CTYPE_OUTDIGIT8_MB,
   _NL_CTYPE_OUTDIGIT9_MB,
-  _NL_CTYPE_OUTDIGIT0_WC_EB,
-  _NL_CTYPE_OUTDIGIT1_WC_EB,
-  _NL_CTYPE_OUTDIGIT2_WC_EB,
-  _NL_CTYPE_OUTDIGIT3_WC_EB,
-  _NL_CTYPE_OUTDIGIT4_WC_EB,
-  _NL_CTYPE_OUTDIGIT5_WC_EB,
-  _NL_CTYPE_OUTDIGIT6_WC_EB,
-  _NL_CTYPE_OUTDIGIT7_WC_EB,
-  _NL_CTYPE_OUTDIGIT8_WC_EB,
-  _NL_CTYPE_OUTDIGIT9_WC_EB,
-  _NL_CTYPE_OUTDIGIT0_WC_EL,
-  _NL_CTYPE_OUTDIGIT1_WC_EL,
-  _NL_CTYPE_OUTDIGIT2_WC_EL,
-  _NL_CTYPE_OUTDIGIT3_WC_EL,
-  _NL_CTYPE_OUTDIGIT4_WC_EL,
-  _NL_CTYPE_OUTDIGIT5_WC_EL,
-  _NL_CTYPE_OUTDIGIT6_WC_EL,
-  _NL_CTYPE_OUTDIGIT7_WC_EL,
-  _NL_CTYPE_OUTDIGIT8_WC_EL,
-  _NL_CTYPE_OUTDIGIT9_WC_EL,
-  _NL_CTYPE_TRANSLIT_HASH_SIZE_EB,
-  _NL_CTYPE_TRANSLIT_HASH_SIZE_EL,
-  _NL_CTYPE_TRANSLIT_HASH_LAYERS_EB,
-  _NL_CTYPE_TRANSLIT_HASH_LAYERS_EL,
-  _NL_CTYPE_TRANSLIT_FROM_IDX_EB,
-  _NL_CTYPE_TRANSLIT_FROM_IDX_EL,
-  _NL_CTYPE_TRANSLIT_FROM_TBL_EB,
-  _NL_CTYPE_TRANSLIT_FROM_TBL_EL,
-  _NL_CTYPE_TRANSLIT_TO_IDX_EB,
-  _NL_CTYPE_TRANSLIT_TO_IDX_EL,
-  _NL_CTYPE_TRANSLIT_TO_TBL_EB,
-  _NL_CTYPE_TRANSLIT_TO_TBL_EL,
+  _NL_CTYPE_OUTDIGIT0_WC,
+  _NL_CTYPE_OUTDIGIT1_WC,
+  _NL_CTYPE_OUTDIGIT2_WC,
+  _NL_CTYPE_OUTDIGIT3_WC,
+  _NL_CTYPE_OUTDIGIT4_WC,
+  _NL_CTYPE_OUTDIGIT5_WC,
+  _NL_CTYPE_OUTDIGIT6_WC,
+  _NL_CTYPE_OUTDIGIT7_WC,
+  _NL_CTYPE_OUTDIGIT8_WC,
+  _NL_CTYPE_OUTDIGIT9_WC,
+  _NL_CTYPE_TRANSLIT_HASH_SIZE,
+  _NL_CTYPE_TRANSLIT_HASH_LAYERS,
+  _NL_CTYPE_TRANSLIT_FROM_IDX,
+  _NL_CTYPE_TRANSLIT_FROM_TBL,
+  _NL_CTYPE_TRANSLIT_TO_IDX,
+  _NL_CTYPE_TRANSLIT_TO_TBL,
   _NL_NUM_LC_CTYPE,
 
   /* LC_MONETARY category: formatting of monetary quantities.
@@ -479,8 +384,7 @@ enum
   _NL_MONETARY_UNO_VALID_TO,
   _NL_MONETARY_DUO_VALID_FROM,
   _NL_MONETARY_DUO_VALID_TO,
-  _NL_MONETARY_CONVERSION_RATE_EB,
-  _NL_MONETARY_CONVERSION_RATE_EL,
+  _NL_MONETARY_CONVERSION_RATE,
   _NL_NUM_LC_MONETARY,
 
   /* LC_NUMERIC category: formatting of numbers.
@@ -511,10 +415,8 @@ enum
 #define	NOSTR			NOSTR
   _NL_NUM_LC_MESSAGES,
 
-  _NL_PAPER_HEIGHT_EB = _NL_ITEM (LC_PAPER, 0),
-  _NL_PAPER_HEIGHT_EL,
-  _NL_PAPER_WIDTH_EB,
-  _NL_PAPER_WIDTH_EL,
+  _NL_PAPER_HEIGHT = _NL_ITEM (LC_PAPER, 0),
+  _NL_PAPER_WIDTH,
   _NL_NUM_LC_PAPER,
 
   _NL_NAME_NAME_FMT = _NL_ITEM (LC_NAME, 0),
@@ -531,8 +433,7 @@ enum
   _NL_ADDRESS_COUNTRY_AB2,
   _NL_ADDRESS_COUNTRY_AB3,
   _NL_ADDRESS_COUNTRY_CAR,
-  _NL_ADDRESS_COUNTRY_NUM_EB,
-  _NL_ADDRESS_COUNTRY_NUM_EL,
+  _NL_ADDRESS_COUNTRY_NUM,
   _NL_ADDRESS_COUNTRY_ISBN,
   _NL_ADDRESS_LANG_NAME,
   _NL_ADDRESS_LANG_AB,
diff --git a/locale/lc-collate.c b/locale/lc-collate.c
index 2970ec3721..a012672b50 100644
--- a/locale/lc-collate.c
+++ b/locale/lc-collate.c
@@ -45,27 +45,20 @@ const u_int32_t *__collate_symbol_classeswc = _nl_C_LC_COLLATE_symbol_classes;
 void
 _nl_postload_collate (void)
 {
-#if BYTE_ORDER == BIG_ENDIAN
-#define bo(x) x##_EB
-#elif BYTE_ORDER == LITTLE_ENDIAN
-#define bo(x) x##_EL
-#else
-#error bizarre byte order
-#endif
 #define paste(a,b) paste1(a,b)
 #define paste1(a,b) a##b
 
 #define current(x)							      \
   ((const unsigned int *) _NL_CURRENT (LC_COLLATE, paste(_NL_COLLATE_,x)))
 
-  __collate_tablewc = current (bo (TABLEWC));
-  __collate_extrawc = current (bo (EXTRAWC));
+  __collate_tablewc = current (TABLEWC);
+  __collate_extrawc = current (EXTRAWC);
 
-  __collate_element_hash = current (bo (ELEM_HASH));
+  __collate_element_hash = current (ELEM_HASH);
   __collate_element_strings = (const char *) current (ELEM_STR_POOL);
-  __collate_element_values = (const uint32_t *) current (bo (ELEM_VAL));
+  __collate_element_values = (const uint32_t *) current (ELEM_VAL);
 
-  __collate_symbol_hash = current (bo (SYMB_HASH));
+  __collate_symbol_hash = current (SYMB_HASH);
   __collate_symbol_strings = (const char *) current (SYMB_STR_POOL);
-  __collate_symbol_classeswc = current (bo (SYMB_CLASSWC));
+  __collate_symbol_classeswc = current (SYMB_CLASSWC);
 }
diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
index be264eaa23..e3cb2f6741 100644
--- a/locale/lc-ctype.c
+++ b/locale/lc-ctype.c
@@ -1,5 +1,5 @@
 /* Define current locale data for LC_CTYPE category.
-   Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -34,13 +34,6 @@ _NL_CURRENT_DEFINE (LC_CTYPE);
 void
 _nl_postload_ctype (void)
 {
-#if BYTE_ORDER == BIG_ENDIAN
-#define bo(x) x##_EB
-#elif BYTE_ORDER == LITTLE_ENDIAN
-#define bo(x) x##_EL
-#else
-#error bizarre byte order
-#endif
 #define paste(a,b) paste1(a,b)
 #define paste1(a,b) a##b
 
@@ -52,9 +45,9 @@ _nl_postload_ctype (void)
   extern const unsigned char *__ctype_width;
 
   __ctype_b = current (uint16_t, CLASS, 128);
-  __ctype_toupper = current (uint32_t, bo (TOUPPER), 128);
-  __ctype_tolower = current (uint32_t, bo (TOLOWER), 128);
+  __ctype_toupper = current (uint32_t, TOUPPER, 128);
+  __ctype_tolower = current (uint32_t, TOLOWER, 128);
   __ctype32_b = current (uint32_t, CLASS32, 0);
-  __ctype_names = current (uint32_t, bo (NAMES), 0);
+  __ctype_names = current (uint32_t, NAMES, 0);
   __ctype_width = current (unsigned char, WIDTH, 0);
 }
diff --git a/locale/lc-monetary.c b/locale/lc-monetary.c
index 6af60a5836..87190b7820 100644
--- a/locale/lc-monetary.c
+++ b/locale/lc-monetary.c
@@ -1,5 +1,5 @@
 /* Define current locale data for LC_MONETARY category.
-   Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,24 +20,3 @@
 #include "localeinfo.h"
 
 _NL_CURRENT_DEFINE (LC_MONETARY);
-
-const uint32_t *__monetary_conversion_rate;
-
-void
-_nl_postload_monetary (void)
-{
-#if BYTE_ORDER == BIG_ENDIAN
-#define bo(x) x##_EB
-#elif BYTE_ORDER == LITTLE_ENDIAN
-#define bo(x) x##_EL
-#else
-#error bizarre byte order
-#endif
-#define paste(a,b) paste1(a,b)
-#define paste1(a,b) a##b
-
-#define current(type,x,offset) \
-  ((const type *) _NL_CURRENT (LC_MONETARY, paste(_NL_MONETARY_,x)) + offset)
-
-  __monetary_conversion_rate = current (uint32_t, bo (CONVERSION_RATE), 0);
-}
diff --git a/locale/lc-time.c b/locale/lc-time.c
index 77888bb666..533e2e0d4c 100644
--- a/locale/lc-time.c
+++ b/locale/lc-time.c
@@ -64,13 +64,8 @@ _nl_get_era_entry (const struct tm *tp)
 
   if (era_initialized == 0)
     {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
       size_t new_num_eras = _NL_CURRENT_WORD (LC_TIME,
-					      _NL_TIME_ERA_NUM_ENTRIES_EL);
-#else
-      size_t new_num_eras = _NL_CURRENT_WORD (LC_TIME,
-					      _NL_TIME_ERA_NUM_ENTRIES_EB);
-#endif
+					      _NL_TIME_ERA_NUM_ENTRIES);
 
       if (eras != NULL && new_num_eras == 0)
 	{
@@ -86,11 +81,7 @@ _nl_get_era_entry (const struct tm *tp)
 	    num_eras = 0;
 	  else
 	    {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-	      const char *ptr = _NL_CURRENT (LC_TIME, _NL_TIME_ERA_ENTRIES_EL);
-#else
-	      const char *ptr = _NL_CURRENT (LC_TIME, _NL_TIME_ERA_ENTRIES_EB);
-#endif
+	      const char *ptr = _NL_CURRENT (LC_TIME, _NL_TIME_ERA_ENTRIES);
 	      num_eras = new_num_eras;
 
 	      for (cnt = 0; cnt < num_eras; ++cnt)
@@ -193,11 +184,7 @@ _nl_get_walt_digit (unsigned int number)
 
       if (walt_digits != NULL)
 	{
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-	  const wchar_t *ptr = _NL_CURRENT_WSTR (LC_TIME, _NL_WALT_DIGITS_EL);
-#else
-	  const wchar_t *ptr = _NL_CURRENT_WSTR (LC_TIME, _NL_WALT_DIGITS_EB);
-#endif
+	  const wchar_t *ptr = _NL_CURRENT_WSTR (LC_TIME, _NL_WALT_DIGITS);
 	  size_t cnt;
 
 	  for (cnt = 0; cnt < 100; ++cnt)
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index 121798782e..d829309f9f 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -18,7 +18,6 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#include <byteswap.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <stdlib.h>
@@ -70,15 +69,8 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
   struct stat st;
   struct locale_data *newdata;
   int save_err;
-  int swap = 0;
   int mmaped = 1;
   size_t cnt;
-  inline unsigned int SWAP (const unsigned int *inw)
-    {
-      if (!swap)
-	return *inw;
-      return bswap_32 (*inw);
-    }
 
   file->decided = 1;
   file->data = NULL;
@@ -164,28 +156,18 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
     /* This cannot be a locale data file since it's too small.  */
     goto puntfd;
 
-  if (filedata->magic == LIMAGIC (category))
-    /* Good data file in our byte order.  */
-    swap = 0;
-  else
+  if (filedata->magic != LIMAGIC (category))
+    /* Bad data file in either byte order.  */
     {
-      /* Try the other byte order.  */
-      swap = 1;
-      if (SWAP (&filedata->magic) != LIMAGIC (category))
-	/* Bad data file in either byte order.  */
-	{
-	puntmap:
-	  __munmap ((caddr_t) filedata, st.st_size);
-	puntfd:
-	  __close (fd);
-	  return;
-	}
+    puntmap:
+      __munmap ((caddr_t) filedata, st.st_size);
+    puntfd:
+      __close (fd);
+      return;
     }
 
-#define W(word)	SWAP (&(word))
-
-  if (W (filedata->nstrings) < _nl_category_num_items[category] ||
-      (sizeof *filedata + W (filedata->nstrings) * sizeof (unsigned int)
+  if (filedata->nstrings < _nl_category_num_items[category] ||
+      (sizeof *filedata + filedata->nstrings * sizeof (unsigned int)
        >= (size_t) st.st_size))
     {
       /* Insufficient data.  */
@@ -207,7 +189,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
   newdata->nstrings = _nl_category_num_items[category];
   for (cnt = 0; cnt < newdata->nstrings; ++cnt)
     {
-      off_t idx = W (filedata->strindex[cnt]);
+      off_t idx = filedata->strindex[cnt];
       if (idx >= newdata->filesize)
 	{
 	  free (newdata);
@@ -215,8 +197,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
 	  goto puntmap;
 	}
       if (_nl_value_types[category][cnt] == word)
-	newdata->values[cnt].word = W (*((u_int32_t *) (newdata->filedata
-							+ idx)));
+	newdata->values[cnt].word = *((u_int32_t *) (newdata->filedata + idx));
       else
 	newdata->values[cnt].string = newdata->filedata + idx;
     }
diff --git a/locale/newlocale.c b/locale/newlocale.c
index 61a72c4aeb..4a2f14513f 100644
--- a/locale/newlocale.c
+++ b/locale/newlocale.c
@@ -177,19 +177,10 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
     union locale_data_value *ctypes = result_ptr->__locales[LC_CTYPE]->values;
   result_ptr->__ctype_b = (const unsigned short int *)
     (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_CLASS)] .string);
-#if BYTE_ORDER == BIG_ENDIAN
   result_ptr->__ctype_tolower = (const int *)
-    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER_EB)].string);
+    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER)].string);
   result_ptr->__ctype_toupper = (const int *)
-    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER_EB)].string);
-#elif BYTE_ORDER == LITTLE_ENDIAN
-  result_ptr->__ctype_tolower = (const int *)
-    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER_EL)].string);
-  result_ptr->__ctype_toupper = (const int *)
-    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER_EL)].string);
-#else
-#error bizarre byte order
-#endif
+    (ctypes[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER)].string);
   }
 
   return result_ptr;
diff --git a/locale/programs/ld-address.c b/locale/programs/ld-address.c
index 49900bd471..6dce62bf8f 100644
--- a/locale/programs/ld-address.c
+++ b/locale/programs/ld-address.c
@@ -68,7 +68,6 @@ struct locale_address_t
   const char *country_ab2;
   const char *country_ab3;
   uint32_t country_num;
-  uint32_t country_num_ob;
   const char *country_car;
   const char *country_isbn;
   const char *lang_name;
@@ -295,7 +294,6 @@ address_finish (struct localedef_t *locale, struct charmap_t *charmap)
 %s: numeric country code `%d' not valid"),
 	       "LC_ADDRESS", address->country_num);
     }
-  address->country_num_ob = bswap_32 (address->country_num);
 
   if (address->country_ab2 == NULL)
     {
@@ -373,21 +371,8 @@ address_output (struct localedef_t *locale, struct charmap_t *charmap,
   iov[cnt].iov_len = strlen (iov[cnt].iov_base) + 1;
   ++cnt;
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define country_num_eb country_num_ob
-# define country_num_el country_num
-#else
-# define country_num_eb country_num
-# define country_num_el country_num_ob
-#endif
-
-  idx[cnt - 2] = idx[cnt - 3] + iov[cnt - 1].iov_len;
-  iov[cnt].iov_base = (void *) address->country_num_eb;
-  iov[cnt].iov_len = sizeof (uint32_t);
-  ++cnt;
-
   idx[cnt - 2] = idx[cnt - 3] + iov[cnt - 1].iov_len;
-  iov[cnt].iov_base = (void *) address->country_num_el;
+  iov[cnt].iov_base = (void *) address->country_num;
   iov[cnt].iov_len = sizeof (uint32_t);
   ++cnt;
 
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index 6dea9d0dd8..d587288db7 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -65,9 +65,7 @@
    the number of bits for character classes to 16.  When compatibility
    is not necessary anymore increase the number to 32.  */
 #define char_class_t uint16_t
-#define CHAR_CLASS_TRANS bswap_16
 #define char_class32_t uint32_t
-#define CHAR_CLASS32_TRANS bswap_32
 
 
 /* Type to describe a transliteration action.  We have a possibly
@@ -144,27 +142,19 @@ struct locale_ctype_t
   uint32_t plane_cnt;
   char_class_t *ctype_b;
   char_class32_t *ctype32_b;
-  uint32_t *names_el;
-  uint32_t *names_eb;
-  uint32_t **map_eb;
-  uint32_t **map_el;
+  uint32_t *names;
+  uint32_t **map;
   uint32_t *class_name_ptr;
   uint32_t *map_name_ptr;
   unsigned char *width;
   uint32_t mb_cur_max;
   const char *codeset_name;
-  uint32_t translit_hash_size_eb;
-  uint32_t translit_hash_size_el;
-  uint32_t translit_hash_layers_eb;
-  uint32_t translit_hash_layers_el;
-  uint32_t *translit_from_idx_eb;
-  uint32_t *translit_from_idx_el;
-  uint32_t *translit_from_tbl_eb;
-  uint32_t *translit_from_tbl_el;
-  uint32_t *translit_to_idx_eb;
-  uint32_t *translit_to_idx_el;
-  uint32_t *translit_to_tbl_eb;
-  uint32_t *translit_to_tbl_el;
+  uint32_t translit_hash_size;
+  uint32_t translit_hash_layers;
+  uint32_t *translit_from_idx;
+  uint32_t *translit_from_tbl;
+  uint32_t *translit_to_idx;
+  uint32_t *translit_to_tbl;
   size_t translit_idx_size;
   size_t translit_from_tbl_size;
   size_t translit_to_tbl_size;
@@ -740,21 +730,12 @@ ctype_output (struct localedef_t *locale, struct charmap_t *charmap,
 		      ctype->ctype_b,
 		      (256 + 128) * sizeof (char_class_t));
 
-	  CTYPE_DATA (_NL_CTYPE_TOUPPER_EB,
-		      ctype->map_eb[0],
+	  CTYPE_DATA (_NL_CTYPE_TOUPPER,
+		      ctype->map[0],
 		      (ctype->plane_size * ctype->plane_cnt + 128)
 		      * sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_TOLOWER_EB,
-		      ctype->map_eb[1],
-		      (ctype->plane_size * ctype->plane_cnt + 128)
-		      * sizeof (uint32_t));
-
-	  CTYPE_DATA (_NL_CTYPE_TOUPPER_EL,
-		      ctype->map_el[0],
-		      (ctype->plane_size * ctype->plane_cnt + 128)
-		      * sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_TOLOWER_EL,
-		      ctype->map_el[1],
+	  CTYPE_DATA (_NL_CTYPE_TOLOWER,
+		      ctype->map[1],
 		      (ctype->plane_size * ctype->plane_cnt + 128)
 		      * sizeof (uint32_t));
 
@@ -763,90 +744,34 @@ ctype_output (struct localedef_t *locale, struct charmap_t *charmap,
 		      (ctype->plane_size * ctype->plane_cnt
 		       * sizeof (char_class32_t)));
 
-	  CTYPE_DATA (_NL_CTYPE_NAMES_EB,
-		      ctype->names_eb, (ctype->plane_size * ctype->plane_cnt
-					* sizeof (uint32_t)));
-	  CTYPE_DATA (_NL_CTYPE_NAMES_EL,
-		      ctype->names_el, (ctype->plane_size * ctype->plane_cnt
-					* sizeof (uint32_t)));
-
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_SIZE_EB,
-		      &ctype->translit_hash_size_eb, sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_SIZE_EL,
-		      &ctype->translit_hash_size_el, sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_LAYERS_EB,
-		      &ctype->translit_hash_layers_eb, sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_LAYERS_EL,
-		      &ctype->translit_hash_layers_el, sizeof (uint32_t));
-
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_IDX_EB,
-		      ctype->translit_from_idx_eb,
-		      ctype->translit_idx_size);
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_IDX_EL,
-		      ctype->translit_from_idx_el,
+	  CTYPE_DATA (_NL_CTYPE_NAMES,
+		      ctype->names, (ctype->plane_size * ctype->plane_cnt
+				     * sizeof (uint32_t)));
+
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_SIZE,
+		      &ctype->translit_hash_size, sizeof (uint32_t));
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_HASH_LAYERS,
+		      &ctype->translit_hash_layers, sizeof (uint32_t));
+
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_IDX,
+		      ctype->translit_from_idx,
 		      ctype->translit_idx_size);
 
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_TBL_EB,
-		      ctype->translit_from_tbl_eb,
-		      ctype->translit_from_tbl_size);
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_TBL_EL,
-		      ctype->translit_from_tbl_el,
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_TBL,
+		      ctype->translit_from_tbl,
 		      ctype->translit_from_tbl_size);
 
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_IDX_EB,
-		      ctype->translit_to_idx_eb,
-		      ctype->translit_idx_size);
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_IDX_EL,
-		      ctype->translit_to_idx_el,
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_IDX,
+		      ctype->translit_to_idx,
 		      ctype->translit_idx_size);
 
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_TBL_EB,
-		      ctype->translit_to_tbl_eb, ctype->translit_to_tbl_size);
-	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_TBL_EL,
-		      ctype->translit_to_tbl_el, ctype->translit_to_tbl_size);
+	  CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_TBL,
+		      ctype->translit_to_tbl, ctype->translit_to_tbl_size);
 
-#if __BYTE_ORDER == __BIG_ENDIAN
-	  CTYPE_DATA (_NL_CTYPE_HASH_SIZE_EB,
+	  CTYPE_DATA (_NL_CTYPE_HASH_SIZE,
 		      &ctype->plane_size, sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_HASH_LAYERS_EB,
+	  CTYPE_DATA (_NL_CTYPE_HASH_LAYERS,
 		      &ctype->plane_cnt, sizeof (uint32_t));
-#else
-	  case _NL_ITEM_INDEX (_NL_CTYPE_HASH_SIZE_EB):
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (sizeof (uint32_t));
-	    *(uint32_t *) iov[2 + elem + offset].iov_base =
-	      bswap_32 (ctype->plane_size);
-	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    break;
-	  case _NL_ITEM_INDEX (_NL_CTYPE_HASH_LAYERS_EB):
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (sizeof (uint32_t));
-	    *(uint32_t *) iov[2 + elem + offset].iov_base =
-	      bswap_32 (ctype->plane_cnt);
-	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    break;
-#endif
-#if __BYTE_ORDER == __BIG_ENDIAN
-	  CTYPE_DATA (_NL_CTYPE_HASH_SIZE_EL,
-		      &ctype->plane_size, sizeof (uint32_t));
-	  CTYPE_DATA (_NL_CTYPE_HASH_LAYERS_EL,
-		      &ctype->plane_cnt, sizeof (uint32_t));
-#else
-	  case _NL_ITEM_INDEX (_NL_CTYPE_HASH_SIZE_EL):
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (sizeof (uint32_t));
-	    *(uint32_t *) iov[2 + elem + offset].iov_base =
-	      bswap_32 (ctype->plane_size);
-	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    break;
-	  case _NL_ITEM_INDEX (_NL_CTYPE_HASH_LAYERS_EL):
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (sizeof (uint32_t));
-	    *(uint32_t *) iov[2 + elem + offset].iov_base =
-	      bswap_32 (ctype->plane_cnt);
-	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    break;
-#endif
 
 	  case _NL_ITEM_INDEX (_NL_CTYPE_CLASS_NAMES):
 	    /* The class name array.  */
@@ -906,34 +831,18 @@ ctype_output (struct localedef_t *locale, struct charmap_t *charmap,
 	    idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len;
 	    break;
 
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN_EB):
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN_EL):
+	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN):
 	    iov[2 + elem + offset].iov_base = alloca (sizeof (uint32_t));
 	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    if ((elem == _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN_EB)
-		 && __BYTE_ORDER == __BIG_ENDIAN)
-		|| (elem == _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN_EL)
-		    && __BYTE_ORDER == __LITTLE_ENDIAN))
-	      *(uint32_t *) iov[2 + elem + offset].iov_base =
-		ctype->mbdigits_act / 10;
-	    else
-	      *(uint32_t *) iov[2 + elem + offset].iov_base =
-		bswap_32 (ctype->mbdigits_act / 10);
+	    *(uint32_t *) iov[2 + elem + offset].iov_base =
+	      ctype->mbdigits_act / 10;
 	    break;
 
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN_EB):
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN_EL):
+	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN):
 	    iov[2 + elem + offset].iov_base = alloca (sizeof (uint32_t));
 	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    if ((elem == _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN_EB)
-		 && __BYTE_ORDER == __BIG_ENDIAN)
-		|| (elem == _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN_EL)
-		    && __BYTE_ORDER == __LITTLE_ENDIAN))
-	      *(uint32_t *) iov[2 + elem + offset].iov_base =
-		ctype->wcdigits_act / 10;
-	    else
-	      *(uint32_t *) iov[2 + elem + offset].iov_base =
-		bswap_32 (ctype->wcdigits_act / 10);
+	    *(uint32_t *) iov[2 + elem + offset].iov_base =
+	      ctype->wcdigits_act / 10;
 	    break;
 
 	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_MB) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_MB):
@@ -973,59 +882,25 @@ ctype_output (struct localedef_t *locale, struct charmap_t *charmap,
 			       ctype->mbdigits[cnt]->nbytes) = '\0';
 	    break;
 
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_WC_EB) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_WC_EB):
-	    total = ctype->wcdigits_act / 10;
-
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (total * sizeof (uint32_t));
-	    iov[2 + elem + offset].iov_len = total * sizeof (uint32_t);
-
-	    for (cnt = elem - _NL_CTYPE_INDIGITS0_WC_EB;
-		 cnt < ctype->wcdigits_act; cnt += 10)
-	      ((uint32_t *) iov[2 + elem + offset].iov_base)[cnt / 10]
-		= (__BYTE_ORDER == __LITTLE_ENDIAN
-		   ? bswap_32 (ctype->wcdigits[cnt]) : ctype->wcdigits[cnt]);
-	    break;
-
-	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_WC_EL) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_WC_EL):
+	  case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_WC) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_WC):
 	    total = ctype->wcdigits_act / 10;
 
 	    iov[2 + elem + offset].iov_base =
 	      (uint32_t *) alloca (total * sizeof (uint32_t));
 	    iov[2 + elem + offset].iov_len = total * sizeof (uint32_t);
 
-	    for (cnt = elem - _NL_CTYPE_INDIGITS0_WC_EL;
+	    for (cnt = elem - _NL_CTYPE_INDIGITS0_WC;
 		 cnt < ctype->wcdigits_act; cnt += 10)
 	      ((uint32_t *) iov[2 + elem + offset].iov_base)[cnt / 10]
-		= (__BYTE_ORDER == __BIG_ENDIAN
-		   ? bswap_32 (ctype->wcdigits[cnt]) : ctype->wcdigits[cnt]);
+		= ctype->wcdigits[cnt];
 	    break;
 
-#if __BYTE_ORDER == __BIG_ENDIAN
-	  case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC_EB) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC_EB):
-	    cnt = elem - _NL_CTYPE_OUTDIGIT0_WC_EB;
-#else
-	  case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC_EL) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC_EL):
-	    cnt = elem - _NL_CTYPE_OUTDIGIT0_WC_EL;
-#endif
+	  case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC):
+	    cnt = elem - _NL_CTYPE_OUTDIGIT0_WC;
 	    iov[2 + elem + offset].iov_base = &ctype->wcoutdigits[cnt];
 	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
 	    break;
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-	  case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC_EB) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC_EB):
-	    cnt = elem - _NL_CTYPE_OUTDIGIT0_WC_EB;
-#else
-	  case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC_EL) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC_EL):
-	    cnt = elem - _NL_CTYPE_OUTDIGIT0_WC_EL;
-#endif
-	    iov[2 + elem + offset].iov_base =
-	      (uint32_t *) alloca (sizeof (uint32_t));
-	    *(uint32_t *) iov[2 + elem + offset].iov_base =
-	      bswap_32 (ctype->wcoutdigits[cnt]);
-	    iov[2 + elem + offset].iov_len = sizeof (uint32_t);
-	    break;
-
 	  default:
 	    assert (! "unknown CTYPE element");
 	  }
@@ -1034,11 +909,7 @@ ctype_output (struct localedef_t *locale, struct charmap_t *charmap,
 	  /* Handle extra maps.  */
 	  size_t nr = (elem - _NL_ITEM_INDEX (_NL_NUM_LC_CTYPE)) >> 1;
 
-	  if (((elem - _NL_ITEM_INDEX (_NL_NUM_LC_CTYPE)) & 1) == 0)
-	    iov[2 + elem + offset].iov_base = ctype->map_eb[nr];
-	  else
-	    iov[2 + elem + offset].iov_base = ctype->map_el[nr];
-
+	  iov[2 + elem + offset].iov_base = ctype->map[nr];
 	  iov[2 + elem + offset].iov_len = ((ctype->plane_size
 					     * ctype->plane_cnt + 128)
 					    * sizeof (uint32_t));
@@ -2976,45 +2847,31 @@ Computing table size for character classes might take a while..."),
     fputs (_(" done\n"), stderr);
 
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define NAMES_B1 ctype->names_el
-# define NAMES_B2 ctype->names_eb
-#else
-# define NAMES_B1 ctype->names_eb
-# define NAMES_B2 ctype->names_el
-#endif
-
-  ctype->names_eb = (uint32_t *) xcalloc (ctype->plane_size
-					  * ctype->plane_cnt,
-					  sizeof (uint32_t));
-  ctype->names_el = (uint32_t *) xcalloc (ctype->plane_size
-					  * ctype->plane_cnt,
-					  sizeof (uint32_t));
+  ctype->names = (uint32_t *) xcalloc (ctype->plane_size
+				       * ctype->plane_cnt,
+				       sizeof (uint32_t));
 
   for (idx = 1; idx < 256; ++idx)
-    NAMES_B1[idx] = idx;
+    ctype->names[idx] = idx;
 
   /* Trick: change the 0th entry's name to 1 to mark the cell occupied.  */
-  NAMES_B1[0] = 1;
+  ctype->names[0] = 1;
 
   for (idx = 256; idx < ctype->charnames_act; ++idx)
     {
       size_t nr = (ctype->charnames[idx] % ctype->plane_size);
       size_t depth = 0;
 
-      while (NAMES_B1[nr + depth * ctype->plane_size])
+      while (ctype->names[nr + depth * ctype->plane_size])
 	++depth;
       assert (depth < ctype->plane_cnt);
 
-      NAMES_B1[nr + depth * ctype->plane_size] = ctype->charnames[idx];
+      ctype->names[nr + depth * ctype->plane_size] = ctype->charnames[idx];
 
       /* Now for faster access remember the index in the NAMES_B array.  */
       ctype->charnames[idx] = nr + depth * ctype->plane_size;
     }
-  NAMES_B1[0] = 0;
-
-  for (idx = 0; idx < ctype->plane_size * ctype->plane_cnt; ++idx)
-    NAMES_B2[idx] = bswap_32 (NAMES_B1[idx]);
+  ctype->names[0] = 0;
 
 
   /* You wonder about this amount of memory?  This is only because some
@@ -3028,18 +2885,9 @@ Computing table size for character classes might take a while..."),
 						 * ctype->plane_cnt,
 						 sizeof (char_class32_t));
 
-  /* Fill in the character class information.  */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define TRANS(w) CHAR_CLASS_TRANS (w)
-# define TRANS32(w) CHAR_CLASS32_TRANS (w)
-#else
-# define TRANS(w) (w)
-# define TRANS32(w) (w)
-#endif
-
-  /* This is the array accessed usig the multibyte string elements.  */
+  /* This is the array accessed using the multibyte string elements.  */
   for (idx = 0; idx < 256; ++idx)
-    ctype->ctype_b[128 + idx] = TRANS (ctype->class256_collection[idx]);
+    ctype->ctype_b[128 + idx] = ctype->class256_collection[idx];
 
   /* Mirror first 127 entries.  We must take care that entry -1 is not
      mirrored because EOF == -1.  */
@@ -3048,14 +2896,11 @@ Computing table size for character classes might take a while..."),
 
   /* The 32 bit array contains all characters.  */
   for (idx = 0; idx < ctype->class_collection_act; ++idx)
-    ctype->ctype32_b[ctype->charnames[idx]]
-      = TRANS32 (ctype->class_collection[idx]);
+    ctype->ctype32_b[ctype->charnames[idx]] = ctype->class_collection[idx];
 
   /* Room for table of mappings.  */
-  ctype->map_eb = (uint32_t **) xmalloc (ctype->map_collection_nr
-					 * sizeof (uint32_t *));
-  ctype->map_el = (uint32_t **) xmalloc (ctype->map_collection_nr
-					 * sizeof (uint32_t *));
+  ctype->map = (uint32_t **) xmalloc (ctype->map_collection_nr
+				      * sizeof (uint32_t *));
 
   /* Fill in all mappings.  */
   for (idx = 0; idx < ctype->map_collection_nr; ++idx)
@@ -3063,40 +2908,25 @@ Computing table size for character classes might take a while..."),
       unsigned int idx2;
 
       /* Allocate table.  */
-      ctype->map_eb[idx] = (uint32_t *) xmalloc ((ctype->plane_size
-						  * ctype->plane_cnt + 128)
-						 * sizeof (uint32_t));
-      ctype->map_el[idx] = (uint32_t *) xmalloc ((ctype->plane_size
-						  * ctype->plane_cnt + 128)
-						 * sizeof (uint32_t));
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define MAP_B1 ctype->map_el
-# define MAP_B2 ctype->map_eb
-#else
-# define MAP_B1 ctype->map_eb
-# define MAP_B2 ctype->map_el
-#endif
+      ctype->map[idx] = (uint32_t *) xmalloc ((ctype->plane_size
+					       * ctype->plane_cnt + 128)
+					      * sizeof (uint32_t));
 
       /* Copy default value (identity mapping).  */
-      memcpy (&MAP_B1[idx][128], NAMES_B1,
+      memcpy (&ctype->map[idx][128], ctype->names,
 	      ctype->plane_size * ctype->plane_cnt * sizeof (uint32_t));
 
       /* Copy values from collection.  */
       for (idx2 = 0; idx2 < 256; ++idx2)
-	MAP_B1[idx][128 + idx2] = ctype->map256_collection[idx][idx2];
+	ctype->map[idx][128 + idx2] = ctype->map256_collection[idx][idx2];
 
       /* Mirror first 127 entries.  We must take care not to map entry
 	 -1 because EOF == -1.  */
       for (idx2 = 0; idx2 < 127; ++idx2)
-	MAP_B1[idx][idx2] = MAP_B1[idx][256 + idx2];
+	ctype->map[idx][idx2] = ctype->map[idx][256 + idx2];
 
       /* EOF must map to EOF.  */
-      MAP_B1[idx][127] = EOF;
-
-      /* And now the other byte order.  */
-      for (idx2 = 0; idx2 < ctype->plane_size * ctype->plane_cnt + 128; ++idx2)
-	MAP_B2[idx][idx2] = bswap_32 (MAP_B1[idx][idx2]);
+      ctype->map[idx][127] = EOF;
     }
 
   /* Extra array for class and map names.  */
@@ -3126,7 +2956,7 @@ Computing table size for character classes might take a while..."),
 	      size_t nr = idx % ctype->plane_size;
 	      size_t depth = 0;
 
-	      while (NAMES_B1[nr + depth * ctype->plane_size] != nr)
+	      while (ctype->names[nr + depth * ctype->plane_size] != nr)
 		++depth;
 	      assert (depth < ctype->plane_cnt);
 
@@ -3269,33 +3099,10 @@ Computing table size for character classes might take a while..."),
 	}
 
       /* We can allocate the arrays for the results.  */
-#if BYTE_ORDER == LITTLE_ENDIAN
-# define from_idx	translit_from_idx_el
-# define from_tbl	translit_from_tbl_el
-# define to_idx	translit_to_idx_el
-# define to_tbl		translit_to_tbl_el
-# define from_idx_ob	translit_from_idx_eb
-# define from_tbl_ob	translit_from_tbl_eb
-# define to_idx_ob	translit_to_idx_eb
-# define to_tbl_ob	translit_to_tbl_eb
-#else
-# define from_idx	translit_from_idx_eb
-# define from_tbl	translit_from_tbl_eb
-# define to_idx	translit_to_idx_eb
-# define to_tbl		translit_to_tbl_eb
-# define from_idx_ob	translit_from_idx_el
-# define from_tbl_ob	translit_from_tbl_el
-# define to_idx_ob	translit_to_idx_el
-# define to_tbl_ob	translit_to_tbl_el
-#endif
-      ctype->from_idx = xmalloc (number * sizeof (uint32_t));
-      ctype->from_idx_ob = xmalloc (number * sizeof (uint32_t));
-      ctype->from_tbl = xmalloc (from_len * sizeof (uint32_t));
-      ctype->from_tbl_ob = xmalloc (from_len * sizeof (uint32_t));
-      ctype->to_idx = xmalloc (number * sizeof (uint32_t));
-      ctype->to_idx_ob = xmalloc (number * sizeof (uint32_t));
-      ctype->to_tbl = xmalloc (to_len * sizeof (uint32_t));
-      ctype->to_tbl_ob = xmalloc (to_len * sizeof (uint32_t));
+      ctype->translit_from_idx = xmalloc (number * sizeof (uint32_t));
+      ctype->translit_from_tbl = xmalloc (from_len * sizeof (uint32_t));
+      ctype->translit_to_idx = xmalloc (number * sizeof (uint32_t));
+      ctype->translit_to_tbl = xmalloc (to_len * sizeof (uint32_t));
 
       from_len = 0;
       to_len = 0;
@@ -3304,37 +3111,26 @@ Computing table size for character classes might take a while..."),
 	  size_t len;
 	  struct translit_to_t *srunp;
 
-	  ctype->from_idx[cnt] = from_len;
-	  ctype->to_idx[cnt] = to_len;
+	  ctype->translit_from_idx[cnt] = from_len;
+	  ctype->translit_to_idx[cnt] = to_len;
 
 	  len = wcslen ((const wchar_t *) sorted[cnt]->from) + 1;
-	  wmemcpy ((wchar_t *) &ctype->from_tbl[from_len],
+	  wmemcpy ((wchar_t *) &ctype->translit_from_tbl[from_len],
 		   (const wchar_t *) sorted[cnt]->from, len);
 	  from_len += len;
 
-	  ctype->to_idx[cnt] = to_len;
+	  ctype->translit_to_idx[cnt] = to_len;
 	  srunp = sorted[cnt]->to;
 	  while (srunp != NULL)
 	    {
 	      len = wcslen ((const wchar_t *) srunp->str) + 1;
-	      wmemcpy ((wchar_t *) &ctype->to_tbl[to_len],
+	      wmemcpy ((wchar_t *) &ctype->translit_to_tbl[to_len],
 		       (const wchar_t *) srunp->str, len);
 	      to_len += len;
 	      srunp = srunp->next;
 	    }
-	  ctype->to_tbl[to_len++] = L'\0';
-	}
-
-      /* Now create the tables for the other endianess.  */
-      for (cnt = 0; cnt < number; ++cnt)
-	{
-	  ctype->from_idx_ob[cnt] = bswap_32 (ctype->from_idx[cnt]);
-	  ctype->to_idx_ob[cnt] = bswap_32 (ctype->to_idx[cnt]);
+	  ctype->translit_to_tbl[to_len++] = L'\0';
 	}
-      for (cnt = 0; cnt < from_len; ++cnt)
-	ctype->from_tbl[cnt] = bswap_32 (ctype->from_tbl_ob[cnt]);
-      for (cnt = 0; cnt < to_len; ++cnt)
-	ctype->to_tbl[cnt] = bswap_32 (ctype->to_tbl_ob[cnt]);
 
       /* Store the information about the length.  */
       ctype->translit_idx_size = number * sizeof (uint32_t);
@@ -3346,12 +3142,9 @@ Computing table size for character classes might take a while..."),
       /* Provide some dummy pointers since we have nothing to write out.  */
       static uint32_t no_str = { 0 };
 
-      ctype->translit_from_idx_el = &no_str;
-      ctype->translit_from_idx_eb = &no_str;
-      ctype->translit_from_tbl_el = &no_str;
-      ctype->translit_from_tbl_eb = &no_str;
-      ctype->translit_to_tbl_el = &no_str;
-      ctype->translit_to_tbl_eb = &no_str;
+      ctype->translit_from_idx = &no_str;
+      ctype->translit_from_tbl = &no_str;
+      ctype->translit_to_tbl = &no_str;
       ctype->translit_idx_size = 0;
       ctype->translit_from_tbl_size = 0;
       ctype->translit_to_tbl_size = 0;
diff --git a/locale/programs/ld-paper.c b/locale/programs/ld-paper.c
index 642ca41380..e20d789a98 100644
--- a/locale/programs/ld-paper.c
+++ b/locale/programs/ld-paper.c
@@ -21,7 +21,6 @@
 # include <config.h>
 #endif
 
-#include <byteswap.h>
 #include <error.h>
 #include <langinfo.h>
 #include <string.h>
@@ -37,9 +36,7 @@
 struct locale_paper_t
 {
   uint32_t height;
-  uint32_t height_ob;
   uint32_t width;
-  uint32_t width_ob;
 };
 
 
@@ -104,7 +101,6 @@ paper_finish (struct localedef_t *locale, struct charmap_t *charmap)
       /* Use as default values the values from the i18n locale.  */
       paper->height = 297;
     }
-  paper->height_ob = bswap_32 (paper->height);
 
   if (paper->width == 0)
     {
@@ -113,7 +109,6 @@ paper_finish (struct localedef_t *locale, struct charmap_t *charmap)
       /* Use as default values the values from the i18n locale.  */
       paper->width = 210;
     }
-  paper->width_ob = bswap_32 (paper->width);
 }
 
 
@@ -133,39 +128,17 @@ paper_output (struct localedef_t *locale, struct charmap_t *charmap,
   iov[cnt].iov_len = sizeof (data);
   ++cnt;
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define height_eb	height_ob
-# define height_el	height
-# define width_eb	width_ob
-# define width_el	width
-#else
-# define height_eb	height
-# define height_el	height_ob
-# define width_eb	width
-# define width_el	width_ob
-#endif
-
   iov[cnt].iov_base = (void *) idx;
   iov[cnt].iov_len = sizeof (idx);
   ++cnt;
 
   idx[cnt - 2] = iov[0].iov_len + iov[1].iov_len;
-  iov[cnt].iov_base = &paper->height_eb;
-  iov[cnt].iov_len = 4;
-  ++cnt;
-
-  idx[cnt - 2] = iov[0].iov_len + iov[1].iov_len;
-  iov[cnt].iov_base = &paper->height_el;
-  iov[cnt].iov_len = 4;
-  ++cnt;
-
-  idx[cnt - 2] = iov[0].iov_len + iov[1].iov_len;
-  iov[cnt].iov_base = &paper->width_eb;
+  iov[cnt].iov_base = &paper->height;
   iov[cnt].iov_len = 4;
   ++cnt;
 
   idx[cnt - 2] = iov[0].iov_len + iov[1].iov_len;
-  iov[cnt].iov_base = &paper->width_el;
+  iov[cnt].iov_base = &paper->width;
   iov[cnt].iov_len = 4;
   ++cnt;
 
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
index 88d98e2c21..5a52029858 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -55,55 +55,40 @@ struct locale_time_t
 {
   const char *abday[7];
   const uint32_t *wabday[7];
-  const uint32_t *wabday_ob[7];
   int abday_defined;
   const char *day[7];
   const uint32_t *wday[7];
-  const uint32_t *wday_ob[7];
   int day_defined;
   const char *abmon[12];
   const uint32_t *wabmon[12];
-  const uint32_t *wabmon_ob[12];
   int abmon_defined;
   const char *mon[12];
   const uint32_t *wmon[12];
-  const uint32_t *wmon_ob[12];
   int mon_defined;
   const char *am_pm[2];
   const uint32_t *wam_pm[2];
-  const uint32_t *wam_pm_ob[2];
   int am_pm_defined;
   const char *d_t_fmt;
   const uint32_t *wd_t_fmt;
-  const uint32_t *wd_t_fmt_ob;
   const char *d_fmt;
   const uint32_t *wd_fmt;
-  const uint32_t *wd_fmt_ob;
   const char *t_fmt;
   const uint32_t *wt_fmt;
-  const uint32_t *wt_fmt_ob;
   const char *t_fmt_ampm;
   const uint32_t *wt_fmt_ampm;
-  const uint32_t *wt_fmt_ampm_ob;
   const char **era;
   const uint32_t **wera;
-  const uint32_t **wera_ob;
   uint32_t num_era;
   const char *era_year;
   const uint32_t *wera_year;
-  const uint32_t *wera_year_ob;
   const char *era_d_t_fmt;
   const uint32_t *wera_d_t_fmt;
-  const uint32_t *wera_d_t_fmt_ob;
   const char *era_t_fmt;
   const uint32_t *wera_t_fmt;
-  const uint32_t *wera_t_fmt_ob;
   const char *era_d_fmt;
   const uint32_t *wera_d_fmt;
-  const uint32_t *wera_d_fmt_ob;
   const char *alt_digits[100];
   const uint32_t *walt_digits[100];
-  const uint32_t *walt_digits_ob[100];
   int alt_digits_defined;
   unsigned char week_ndays;
   uint32_t week_1stday;
@@ -115,7 +100,6 @@ struct locale_time_t
   const uint32_t *wtimezone;
 
   struct era_data *era_entries;
-  struct era_data *era_entries_ob;
 };
 
 
@@ -143,7 +127,6 @@ void
 time_finish (struct localedef_t *locale, struct charmap_t *charmap)
 {
   struct locale_time_t *time = locale->categories[LC_TIME].time;
-  size_t cnt;
   int nothing = 0;
 
   /* Now resolve copying and also handle completely missing definitions.  */
@@ -183,22 +166,6 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
     {									      \
       if(! be_quiet && ! nothing)					      \
 	error (0, 0, _("%s: field `%s' not defined"), "LC_TIME", #cat);	      \
-    }									      \
-  else if (time->w##cat != NULL)					      \
-    {									      \
-      size_t n;								      \
-      for (n = 0; n < sizeof (time->w##cat) / sizeof (time->w##cat[0]); ++n)  \
-	{								      \
-	  size_t len = wcslen ((wchar_t *) time->w##cat[n]) + 1;	      \
-	  uint32_t *wstr = (uint32_t *) xmalloc (len * sizeof (uint32_t));    \
-	  do								      \
-	    {								      \
-	      --len;							      \
-	      wstr[len] = bswap_32 (time->w##cat[n][len]);		      \
-	    }								      \
-	  while (len > 0);						      \
-	  time->w##cat##_ob[n] = wstr;					      \
-	}								      \
     }
 
   TESTARR_ELEM (abday);
@@ -212,18 +179,6 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
     {									      \
       if (! be_quiet && ! nothing)					      \
 	error (0, 0, _("%s: field `%s' not defined"), "LC_TIME", #cat);	      \
-    }									      \
-  else if (time->w##cat != NULL)					      \
-    {									      \
-      size_t len = wcslen ((wchar_t *) time->w##cat) + 1;		      \
-      uint32_t *wstr = (uint32_t *) xmalloc (len * sizeof (uint32_t));	      \
-      do								      \
-	{								      \
-	  --len;							      \
-	  wstr[len] = bswap_32 (time->w##cat[len]);			      \
-	}								      \
-      while (len > 0);							      \
-      time->w##cat##_ob = wstr;						      \
     }
 
   TEST_ELEM (d_t_fmt);
@@ -237,20 +192,6 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
       /* Use the 24h format as default.  */
       time->t_fmt_ampm = time->t_fmt;
       time->wt_fmt_ampm = time->wt_fmt;
-      time->wt_fmt_ampm_ob = time->wt_fmt_ob;
-    }
-  else
-    {
-      /* Convert the byte order.  */
-      size_t len = wcslen ((wchar_t *) time->wt_fmt_ampm) + 1;
-      uint32_t *wstr = (uint32_t *) xmalloc (len * sizeof (uint32_t));
-      do
-	{
-	  --len;
-	  wstr[len] = bswap_32 (time->wt_fmt_ampm[len]);
-	}
-      while (len > 0);
-      time->wt_fmt_ampm_ob = wstr;
     }
 
   /* Now process the era entries.  */
@@ -499,60 +440,6 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
 	  wstr = wstr ? wcschr (wstr, L':') : NULL;	/* end name */
 	  time->era_entries[idx].wformat = (uint32_t *) wstr;
 	}
-
-      /* Construct the array for the other byte order.  */
-      time->era_entries_ob =
-	(struct era_data *) xmalloc (time->num_era * sizeof (struct era_data));
-
-      for (idx = 0; idx < time->num_era; ++idx)
-	{
-	  time->era_entries_ob[idx].direction =
-	    bswap_32 (time->era_entries[idx].direction);
-	  time->era_entries_ob[idx].offset =
-	    bswap_32 (time->era_entries[idx].offset);
-	  time->era_entries_ob[idx].start_date[0] =
-	    bswap_32 (time->era_entries[idx].start_date[0]);
-	  time->era_entries_ob[idx].start_date[1] =
-	    bswap_32 (time->era_entries[idx].start_date[1]);
-	  time->era_entries_ob[idx].start_date[2] =
-	    bswap_32 (time->era_entries[idx].stop_date[2]);
-	  time->era_entries_ob[idx].stop_date[0] =
-	    bswap_32 (time->era_entries[idx].stop_date[0]);
-	  time->era_entries_ob[idx].stop_date[1] =
-	    bswap_32 (time->era_entries[idx].stop_date[1]);
-	  time->era_entries_ob[idx].stop_date[2] =
-	    bswap_32 (time->era_entries[idx].stop_date[2]);
-	  time->era_entries_ob[idx].name =
-	    time->era_entries[idx].name;
-	  time->era_entries_ob[idx].format =
-	    time->era_entries[idx].format;
-	  if (time->era_entries[idx].wname != NULL)
-	    {
-	      size_t inner = (wcslen ((wchar_t *) time->era_entries[idx].wname)
-			      + 1);
-	      time->era_entries_ob[idx].wname = xmalloc (inner
-							 * sizeof (uint32_t));
-	      do
-		time->era_entries_ob[idx].wname[inner - 1]
-		  = bswap_32 (time->era_entries[idx].wname[inner - 1]);
-	      while (inner-- > 0);
-	    }
-	  else
-	    time->era_entries_ob[idx].wname = NULL;
-	  if (time->era_entries[idx].wformat != NULL)
-	    {
-	      size_t inner
-		= wcslen ((wchar_t *) time->era_entries[idx].wformat) + 1;
-	      time->era_entries_ob[idx].wformat = xmalloc (inner
-							   * sizeof (uint32_t));
-	      do
-		time->era_entries_ob[idx].wformat[inner - 1]
-		  = bswap_32 (time->era_entries[idx].wformat[inner - 1]);
-	      while (inner-- > 0);
-	    }
-	  else
-	    time->era_entries_ob[idx].wformat = NULL;
-	}
     }
 
   if (time->week_ndays == 0)
@@ -594,18 +481,6 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
      simply useless, stupid $&$!@...  */
   if (time->timezone == NULL)
     time->timezone = "";
-
-  /* Generate alt digits in other byte order.  */
-  for (cnt = 0; cnt < 100; ++cnt)
-    if (time->walt_digits[cnt] != NULL)
-      {
-	size_t len = wcslen ((wchar_t *) time->walt_digits[cnt]) + 1;
-	uint32_t *wstr = xmalloc (len * sizeof (uint32_t));
-	do
-	  wstr[len - 1] = bswap_32 (time->walt_digits[cnt][len - 1]);
-	while (len-- > 0);
-	time->walt_digits_ob[cnt] = wstr;
-      }
 }
 
 
@@ -621,8 +496,6 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   struct locale_file data;
   uint32_t idx[_NL_ITEM_INDEX (_NL_NUM_LC_TIME)];
   size_t cnt, last_idx, num, n;
-  uint32_t num_era_eb;
-  uint32_t num_era_el;
 
   data.magic = LIMAGIC (LC_TIME);
   data.n = _NL_ITEM_INDEX (_NL_NUM_LC_TIME);
@@ -749,66 +622,46 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   ++cnt;
 
   /* The `era' data in usable form.  */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-  num_era_eb = bswap_32 (time->num_era);
-  num_era_el = time->num_era;
-#else
-  num_era_eb = time->num_era;
-  num_era_el = bswap_32 (time->num_era);
-#endif
-
-  iov[2 + cnt].iov_base = (void *) &num_era_eb;
-  iov[2 + cnt].iov_len = sizeof (uint32_t);
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) &num_era_el;
+  iov[2 + cnt].iov_base = (void *) &time->num_era;
   iov[2 + cnt].iov_len = sizeof (uint32_t);
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define ERA_B1 time->era_entries_ob
-# define ERA_B2 time->era_entries
-#else
-# define ERA_B1 time->era_entries
-# define ERA_B2 time->era_entries_ob
-#endif
   idx[1 + last_idx] = idx[last_idx];
   for (num = 0; num < time->num_era; ++num)
     {
       size_t l;
 
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].direction;
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].direction;
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].offset;
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].offset;
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].start_date[0];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].start_date[0];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].start_date[1];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].start_date[1];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].start_date[2];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].start_date[2];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].stop_date[0];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].stop_date[0];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].stop_date[1];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].stop_date[1];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B1[num].stop_date[2];
+      iov[2 + cnt].iov_base = (void *) &time->era_entries[num].stop_date[2];
       iov[2 + cnt].iov_len = sizeof (int32_t);
       ++cnt;
 
-      l = (strchr (ERA_B1[num].format, '\0') - ERA_B1[num].name) + 1;
+      l = (strchr (time->era_entries[num].format, '\0')
+	   - time->era_entries[num].name) + 1;
       l = (l + 3) & ~3;
-      iov[2 + cnt].iov_base = (void *) ERA_B1[num].name;
+      iov[2 + cnt].iov_base = (void *) time->era_entries[num].name;
       iov[2 + cnt].iov_len = l;
       ++cnt;
 
@@ -816,57 +669,9 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
 
       assert (idx[1 + last_idx] % 4 == 0);
 
-      iov[2 + cnt].iov_base = (void *) ERA_B1[num].wname;
-      iov[2 + cnt].iov_len = ((wcschr ((wchar_t *) ERA_B1[cnt].wformat, L'\0')
-			       - (wchar_t *) ERA_B1[num].wname + 1)
-			      * sizeof (uint32_t));
-      ++cnt;
-
-      idx[1 + last_idx] += iov[2 + cnt].iov_len;
-    }
-  ++last_idx;
-
-  idx[1 + last_idx] = idx[last_idx];
-  for (num = 0; num < time->num_era; ++num)
-    {
-      size_t l;
-
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].direction;
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].offset;
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].start_date[0];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].start_date[1];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].start_date[2];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].stop_date[0];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].stop_date[1];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-      iov[2 + cnt].iov_base = (void *) &ERA_B2[num].stop_date[2];
-      iov[2 + cnt].iov_len = sizeof (int32_t);
-      ++cnt;
-
-      l = (strchr (ERA_B2[num].format, '\0') - ERA_B2[num].name) + 1;
-      l = (l + 3) & ~3;
-      iov[2 + cnt].iov_base = (void *) ERA_B2[num].name;
-      iov[2 + cnt].iov_len = l;
-      ++cnt;
-
-      idx[1 + last_idx] += 8 * sizeof (int32_t) + l;
-
-      iov[2 + cnt].iov_base = (void *) ERA_B1[num].wname;
-      iov[2 + cnt].iov_len = ((wcschr ((wchar_t *) ERA_B1[cnt].wformat, L'\0')
-			       - (wchar_t *) ERA_B1[num].wname + 1)
+      iov[2 + cnt].iov_base = (void *) time->era_entries[num].wname;
+      iov[2 + cnt].iov_len = ((wcschr ((wchar_t *) time->era_entries[cnt].wformat, L'\0')
+			       - (wchar_t *) time->era_entries[num].wname + 1)
 			      * sizeof (uint32_t));
       ++cnt;
 
@@ -874,79 +679,11 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
     }
   ++last_idx;
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define WABDAY_B1	 wabday_ob
-# define WDAY_B1	 wday_ob
-# define WABMON_B1	 wabmon_ob
-# define WMON_B1	 wmon_ob
-# define WAM_PM_B1	 wam_pm_ob
-# define WD_T_FMT_B1	 wd_t_fmt_ob
-# define WD_FMT_B1	 wd_fmt_ob
-# define WT_FMT_B1	 wt_fmt_ob
-# define WT_FMT_AMPM_B1	 wt_fmt_ampm_ob
-# define WERA_YEAR_B1	 wera_year_ob
-# define WERA_D_FMT_B1	 wera_d_fmt_ob
-# define WALT_DIGITS_B1	 walt_digits_ob
-# define WERA_D_T_FMT_B1 wera_d_t_fmt_ob
-# define WERA_T_FMT_B1	 wera_t_fmt_ob
-# define WABDAY_B2	 wabday
-# define WDAY_B2	 wday
-# define WABMON_B2	 wabmon
-# define WMON_B2	 wmon
-# define WAM_PM_B2	 wam_pm
-# define WD_T_FMT_B2	 wd_t_fmt
-# define WD_FMT_B2	 wd_fmt
-# define WT_FMT_B2	 wt_fmt
-# define WT_FMT_AMPM_B2	 wt_fmt_ampm
-# define WERA_YEAR_B2	 wera_year
-# define WERA_D_FMT_B2	 wera_d_fmt
-# define WALT_DIGITS_B2	 walt_digits
-# define WERA_D_T_FMT_B2 wera_d_t_fmt
-# define WERA_T_FMT_B2	 wera_t_fmt
-#else
-# define WABDAY_B1	wabday
-# define WDAY_B1	wday
-# define WABMON_B1	wabmon
-# define WMON_B1	wmon
-# define WAM_PM_B1	wam_pm
-# define WD_T_FMT_B1	wd_t_fmt
-# define WD_FMT_B1	wd_fmt
-# define WT_FMT_B1	wt_fmt
-# define WT_FMT_AMPM_B1	wt_fmt_ampm
-# define WERA_YEAR_B1	 wera_year
-# define WERA_D_FMT_B1	 wera_d_fmt
-# define WALT_DIGITS_B1	 walt_digits
-# define WERA_D_T_FMT_B1 wera_d_t_fmt
-# define WERA_T_FMT_B1	 wera_t_fmt
-# define WABDAY_B2	wabday_ob
-# define WDAY_B2	wday_ob
-# define WABMON_B2	wabmon_ob
-# define WMON_B2	wmon_ob
-# define WAM_PM_B2	wam_pm_ob
-# define WD_T_FMT_B2	wd_t_fmt_ob
-# define WD_FMT_B2	wd_fmt_ob
-# define WT_FMT_B2	wt_fmt_ob
-# define WT_FMT_AMPM_B2	wt_fmt_ampm_ob
-# define WERA_YEAR_B2	 wera_year_ob
-# define WERA_D_FMT_B2	 wera_d_fmt_ob
-# define WALT_DIGITS_B2	 walt_digits_ob
-# define WERA_D_T_FMT_B2 wera_d_t_fmt_ob
-# define WERA_T_FMT_B2	 wera_t_fmt_ob
-#endif
-
   /* The wide character ab'days.  */
   for (n = 0; n < 7; ++n, ++cnt, ++last_idx)
     {
       iov[2 + cnt].iov_base =
-	(void *) (time->WABDAY_B1[n] ?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-    }
-  for (n = 0; n < 7; ++n, ++cnt, ++last_idx)
-    {
-      iov[2 + cnt].iov_base =
-	(void *) (time->WABDAY_B2[n] ?: empty_wstr);
+	(void *) (time->wabday[n] ?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
       idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
@@ -956,15 +693,7 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   for (n = 0; n < 7; ++n, ++cnt, ++last_idx)
     {
       iov[2 + cnt].iov_base =
-	(void *) (time->WDAY_B1[n] ?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-    }
-  for (n = 0; n < 7; ++n, ++cnt, ++last_idx)
-    {
-      iov[2 + cnt].iov_base =
-	(void *) (time->WDAY_B2[n] ?: empty_wstr);
+	(void *) (time->wday[n] ?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
       idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
@@ -974,15 +703,7 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   for (n = 0; n < 12; ++n, ++cnt, ++last_idx)
     {
       iov[2 + cnt].iov_base =
-	(void *) (time->WABMON_B1[n] ?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-    }
-  for (n = 0; n < 12; ++n, ++cnt, ++last_idx)
-    {
-      iov[2 + cnt].iov_base =
-	(void *) (time->WABMON_B2[n] ?: empty_wstr);
+	(void *) (time->wabmon[n] ?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
       idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
@@ -992,15 +713,7 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   for (n = 0; n < 12; ++n, ++cnt, ++last_idx)
     {
       iov[2 + cnt].iov_base =
-	(void *) (time->WMON_B1[n] ?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-    }
-  for (n = 0; n < 12; ++n, ++cnt, ++last_idx)
-    {
-      iov[2 + cnt].iov_base =
-	(void *) (time->WMON_B2[n] ?: empty_wstr);
+	(void *) (time->wmon[n] ?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
       idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
@@ -1010,123 +723,48 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   for (n = 0; n < 2; ++n, ++cnt, ++last_idx)
     {
       iov[2 + cnt].iov_base =
-	(void *) (time->WAM_PM_B1[n] ?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-    }
-  for (n = 0; n < 2; ++n, ++cnt, ++last_idx)
-    {
-      iov[2 + cnt].iov_base =
-	(void *) (time->WAM_PM_B2[n] ?: empty_wstr);
+	(void *) (time->wam_pm[n] ?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
       idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
     }
 
-  iov[2 + cnt].iov_base = (void *) (time->WD_T_FMT_B1 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WD_FMT_B1 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WT_FMT_B1 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WT_FMT_AMPM_B1 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wd_t_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WD_T_FMT_B2 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wd_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WD_FMT_B2 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WT_FMT_B2 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WT_FMT_AMPM_B2 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WERA_YEAR_B2 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WERA_D_FMT_B2 ?: empty_wstr);
-  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			  * sizeof (uint32_t));
-  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
-  ++cnt;
-  ++last_idx;
-
-  idx[1 + last_idx] = idx[last_idx];
-  for (num = 0; num < 100; ++num, ++cnt)
-    {
-      iov[2 + cnt].iov_base = (void *) (time->WALT_DIGITS_B2[num]
-					?: empty_wstr);
-      iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
-			      * sizeof (uint32_t));
-      idx[1 + last_idx] += iov[2 + cnt].iov_len;
-    }
-  ++last_idx;
-
-  iov[2 + cnt].iov_base = (void *) (time->WERA_D_T_FMT_B2 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wt_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WERA_T_FMT_B2 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wt_fmt_ampm ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WERA_YEAR_B1 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wera_year ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WERA_D_FMT_B1 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wera_d_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
@@ -1136,7 +774,7 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
   idx[1 + last_idx] = idx[last_idx];
   for (num = 0; num < 100; ++num, ++cnt)
     {
-      iov[2 + cnt].iov_base = (void *) (time->WALT_DIGITS_B1[num]
+      iov[2 + cnt].iov_base = (void *) (time->walt_digits[num]
 					?: empty_wstr);
       iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			      * sizeof (uint32_t));
@@ -1144,14 +782,14 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
     }
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WERA_D_T_FMT_B1 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wera_d_t_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
   ++cnt;
   ++last_idx;
 
-  iov[2 + cnt].iov_base = (void *) (time->WERA_T_FMT_B1 ?: empty_wstr);
+  iov[2 + cnt].iov_base = (void *) (time->wera_t_fmt ?: empty_wstr);
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
 			  * sizeof (uint32_t));
   idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;