Commit Graph

30092 Commits

Author SHA1 Message Date
Florian Weimer
ed3c7876cc resolv: Reindent preprocessor conditionals following cleanups 2016-04-28 16:53:56 +02:00
Florian Weimer
e01eef67ba resolv: Assorted preprocessor cleanups 2016-04-28 13:58:18 +02:00
Florian Weimer
ecfda0fc25 resolv: Remove SUNSECURITY preprocessor conditionals
The macro is never defined.
2016-04-28 13:56:39 +02:00
Florian Weimer
c40226cb4c resolv: Remove BSD compatibility conditionals and header 2016-04-28 13:56:39 +02:00
Florian Weimer
e5a0ec981c resolv: Remove __BIND_NOSTATIC conditionals
The macro is never defined.
2016-04-28 13:56:38 +02:00
Florian Weimer
687c1c0ce2 resolv: Remove traces of ULTRIX support 2016-04-28 13:56:38 +02:00
Florian Weimer
18b36f5dcf resolv: Remove RFC1535 conditionals 2016-04-28 12:53:51 +02:00
Florian Weimer
74a6983155 resolv: Remove RESOLVSORT preprocess conditionals 2016-04-28 12:53:51 +02:00
Florian Weimer
561905e137 resolv: Remove BIND_UPDATE preprocessor conditionals 2016-04-28 12:53:50 +02:00
Florian Weimer
283952c4a8 inet: Remove SCCS keywords 2016-04-28 12:53:50 +02:00
Florian Weimer
c99c925b8b resolv: Remove _LIBC conditionals 2016-04-28 12:53:49 +02:00
Florian Weimer
1f32be054b resolv: Remove SCCS and RCS keywords 2016-04-28 12:53:49 +02:00
Florian Weimer
6b255f411b Fix ChangeLog date to reflect commit date 2016-04-28 12:52:53 +02:00
Joseph Myers
9a018860a7 conformtest: Correct stdio.h expectations for fdopen.
The conform/ test of stdio.h wrongly does not expect fdopen for XPG3
and XPG4.  fdopen is in those standards; this patch corrects the
expectations.

Tested for x86_64 and x86.

	* conform/data/stdio.h-data (fdopen): Expect also for
	[XPG3 || XPG4].
2016-04-27 21:28:58 +00:00
Joseph Myers
1876dfe4c3 conformtest: Correct some stdio.h expectations for UNIX98.
The conform/ test of stdio.h for UNIX98 fails with surious namespace
errors for functions that are correctly declared for that standard.
This patch fixes the expectations to expect those functions also for
UNIX98.  (This does not by itself fix the XFAIL of that test, and is
not based a full review of the header expectations so there could
still be other bugs in the expectations for this header for UNIX98.)

Tested for x86_64 and x86.

	* conform/data/stdio.h-data (flockfile): Also expect for [UNIX98].
	(fseeko): Likewise.
	(ftello): Likewise.
	(ftrylockfile): Likewise.
	(funlockfile): Likewise.
	(getc_unlocked): Likewise.
	(getchar_unlocked): Likewise.
	(putc_unlocked): Likewise.
	(putchar_unlocked): Likewise.
2016-04-27 21:17:00 +00:00
Florian Weimer
a12f9431b3 nss_dns: Skip over non-PTR records in the netent code [BZ #19868]
This requires additional checks for the RDATA length and the
availability of record metadata.
2016-04-27 17:15:57 +02:00
Florian Weimer
c3bae689d3 nss_dns: Remove custom offsetof macro definition 2016-04-27 16:48:45 +02:00
Florian Weimer
5e0c421cc0 nss_dns: Check address length before creating addrinfo result [BZ #19831]
Previously, we allocated room in the result space before the check,
leaving uninitialized data there in case the check failed.

This also consolidates the behavior between single (A or AAAA) and
dual (A and AAAA in parallel) queries.  Single queries checked
the record length against the QTYPE, not the RRTYPE.
2016-04-27 16:39:12 +02:00
Florian Weimer
b9b026c9c0 resolv, nss_dns: Remove remaining syslog logging [BZ #19862]
The fix for bug 14841 only removed part of the logging.
2016-04-27 16:21:40 +02:00
Joseph Myers
9f57e65c93 conformtest: Correct some signal.h expectations for XOPEN2K.
The conformtest expectations for signal.h have various declarations
that are expected for POSIX (1996) and all later standards, except,
wrongly, for XOPEN2K.  This shows up as failures of tests for two
other headers, which are allowed to make visible symbols from
signal.h, because of an incorrect namespace failure for sigval
(required in signal.h in XOPEN2K, so should be allowed for those other
headers); signal.h tests for various standards fail anyway because of
other problems in the header.  This patch fixes the incorrect
expectations and removes the two XFAILs that this fixes.

Tested for x86_64 and x86.

	* conform/data/signal.h-data (union sigval): Expect also if
	[XOPEN2K].
	(struct sigevent): Likewise.
	(SIGEV_NONE): Likewise.
	(SIGEV_SIGNAL): Likewise.
	(SIGEV_THREAD): Likewise.
	(SIGRTMIN): Likewise.
	(SIGRTMAX): Likewise.
	* conform/Makefile (test-xfail-XOPEN2K/aio.h/conform): Remove
	variable.
	(test-xfail-XOPEN2K/mqueue.h/conform): Likewise.
2016-04-27 14:03:14 +00:00
Florian Weimer
f749498fa5 nss_dns: Validate RDATA length against packet length [BZ #19830]
In _nss_dns_getcanonname_r, a check for the availability of RR metadata
was missing as well.
2016-04-27 15:11:42 +02:00
Florian Weimer
b9bdfa7c8f resolv: Always set *resplen2 out parameter in send_vc [BZ #19825]
In various error scenarios (for example, if the server closes the
TCP connection before sending the full response), send_vc can return
without resetting the *resplen2 value.  This can pass uninitialized
or unexpected data to the caller.
2016-04-27 14:26:47 +02:00
Stefan Liebler
b06549a5e6 Add missing iucv related defines.
this patch adds the missing SOL_IUCV socket level definition
and socket options SO_IPRMDATA_MSG, SO_MSGLIMIT, SO_MSGSIZE
which can be used with get/setsockopt().
SCM_IUCV_TRGCLS is needed to send/receive ancillary data with send/recvmsg().

The defines are copied from kernel-source:
include/net/iucv/af_iucv.h
include/linux/socket.h
2016-04-27 09:08:29 +02:00
Mike Frysinger
045cd3190a localedata: add more translit entries
Some of the newer symbols we're using are missing translit entries which
causes troubles when generating the locales with older encodings.

tr_TR: ₺ -> "TL"
uz_UZ: ʻ -> "'"
common:
  ֏ -> "AMD"
  ₪ -> "ILS"
  ₱ -> "PHP"
  ₸ -> "KZT"
  ₾ -> "GEL"
2016-04-27 01:09:20 -04:00
Adhemerval Zanella
f9123b5003 libio: Update internal fmemopen position after write (BZ #20005)
Current GLIBC fmemopen fails with a simple testcase:

  char buffer[500] = "x";
  FILE *stream;
  stream = fmemopen(buffer, 500, "r+");
  fwrite("fish",sizeof(char),5,stream);
  printf("pos-1:%ld\n",ftell(stream));
  fflush(stream);
  printf("pos-2:%ld\n",ftell(stream));

It returns:

  pos-1:5
  pos-2:0

Where it should return:

  pos-1:5
  pos-2:5

This is due the internal write function does not correctly update the internal
object position state and then the seek operation returns a wrong value.  This
patch fixes it.

It fixes both BZ #20005 and BZ #19230 (marked as duplicated). A new test is
added to check for such case.

Tested on x86_64 and i686.

	* libio/fmemopen.c (fmemopen_write): Update internal position after
	write.
	* stdio-common/Makefile (tests): Add tst-fmemopen4.c.
	* stdio-common/tst-fmemopen4.c: New file..
2016-04-26 17:40:25 -03:00
Joseph Myers
085bbece2c Fix langinfo.h nl_langinfo_l namespace (bug 19996).
langinfo.h declares nl_langinfo_l if __USE_XOPEN2K.  But this function
was new in the 2008 edition of POSIX.  This patch fixes the condition
accordingly.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).

	[BZ #19996]
	* locale/langinfo.h (nl_langinfo_l): Declare if [__USE_XOPEN2K8],
	not [__USE_XOPEN2K].
	* conform/Makefile (test-xfail-XOPEN2K/langinfo.h/conform): Remove
	variable.
2016-04-26 15:02:26 +00:00
Joseph Myers
6da052fd6a conformtest: Correct XOPEN2K stdarg.h expectations.
The conform/ test expectations for stdarg.h were wrongly missing an
expectation of va_copy for XOPEN2K (based on C99, so including that
macro).  This patch fixes this.

Tested for x86_64 and x86.

	* conform/data/stdarg.h-data [XOPEN2K] (va_copy): Require macro.
	* conform/Makefile (test-xfail-XOPEN2K/stdarg.h/conform): Remove
	variable.
2016-04-26 13:56:04 +00:00
Joseph Myers
bf07472615 Define off_t in stdio.h for XOPEN2K.
The header conformance test for stdio.h for XOPEN2K fails because the
header does not define the off_t type, used in the expected
declarations for fseeko and ftello.

The absence of this type is not actually strictly a bug (hence no bug
report being filed in Bugzilla), since POSIX didn't require the type
to be declared in this header until the 2008 edition.  However, the
glibc convention in such cases - where the type falls under the
general *_t POSIX reservation, and so it's OK to define it for all
POSIX versions - is to make the headers self-contained in this regard
even for the older POSIX versions not requiring the type to be defined
despite including other declarations depending on the type.  Thus,
this patch adjusts the condition in the header and removes the XFAIL
(rather than adapting the expectation to work when the functions are
declared using __off_t without off_t being defined).

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).

	* libio/stdio.h (off_t): Define if [__USE_XOPEN2K], not
	[__USE_XOPEN2K8].
	[__USE_LARGEFILE64] (off64_t): Likewise.
	* conform/Makefile (test-xfail-XOPEN2K/stdio.h/conform): Remove
	variable.
2016-04-26 09:55:47 +00:00
Joseph Myers
12404bb04e Fix stdio.h cuserid namespace (bug 19989).
stdio.h declares cuserid if __USE_XOPEN.  But this was removed in the
2001 edition of POSIX.

The #endif comment "Use X/Open, but not issue 6." reflects the correct
logic, but does not correspond to the #ifdef.  The use of a correct
libc-hacker.  The online archives for libc-hacker in August 2000 are
broken, but the messages can be found in the qmail archives in
/sourceware1/qmail/lists-sourceware/libc-hacker/archive/26 if you have
shell access to sourceware.

The issue showed up in August 2000 because of a warning about a
non-prototype definition in sysdeps/posix/cuserid.c when there was no
previous prototype declaration.  Since we've now eliminated
non-prototype function definitions, that issue does not apply.  The
other points from that discussion were about whether it should be
included in _GNU_SOURCE; whether _GNU_SOURCE should include
"everything"; whether deprecated interfaces such as this should be
excluded from it; and whether, even given exclusion of deprecated
interfaces, it should apply for deprecations in a version of POSIX
that at that time had not been released.

This patch follows the more conservative approach to a fix of keeping
the interface in _GNU_SOURCE.  That matches how L_cuserid is handled.
I think there is a strong case for eliminating this interface from
_GNU_SOURCE (but this may not automatically be the case for every
interface removed in newer POSIX versions), but then L_cuserid should
also be removed from _GNU_SOURCE (in stdio-common/stdio_lim.h.in) at
the same time.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).

	[BZ #19989]
	* libio/stdio.h (cuserid): Do not declare if
	[__USE_XOPEN2K && !__USE_GNU].
	* conform/Makefile (test-xfail-XOPEN2K8/stdio.h/conform): Remove
	variable.
2016-04-25 19:29:44 +00:00
Paul E. Murphy
8f1b841e45 powerpc: Add optimized strcspn for P8
A few minor adjustments to the P8 strspn gives us
an almost equally optimized P8 strcspn.
2016-04-25 09:11:02 -05:00
Florian Weimer
fdcf1c9480 vfprintf: Fix memory with large width and precision [BZ #19931]
Free a previously allocated work buffer if it is not large enough.
2016-04-25 14:10:26 +02:00
Chung-Lin Tang
a5507dfa60 Fix stdlib/tst-makecontext regression for Nios II 2016-04-25 00:08:17 -07:00
Samuel Thibault
d454fd21f4 non-linux: Apply RFC3542 obsoletion of RFC2292 macros
(IPV6_RECVHOPLIMIT, IPV6_HOPLIMIT, IPV6_RECVHOPOPTS, IPV6_HOPOPTS,
IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVDSTOPTS,
IPV6_DSTOPTS, IPV6_RECVPATHMTU, IPV6_PATHMTU, IPV6_DONTFRAG):
New macros.
2016-04-24 19:24:36 +02:00
Samuel Thibault
2a517d91af non-linux: Apply RFC3542 obsoletion of RFC2292 macros
RFC2292 macros were obsoleted by RFC3542, and should not be exposed
	any more. Notably since IPV6_PKTINFO has been reintroduced with a
	completely different API.

	* bits/in.h (IPV6_PKTINFO): Rename to IPV6_2292PKTINFO.
	(IPV6_HOPOPTS): Rename to IPV6_2292HOPOPTS.
	(IPV6_DSTOPTS): Rename to IPV6_2292DSTOPTS.
	(IPV6_RTHDR): Rename to IPV6_2292RTHDR.
	(IPV6_PKTOPTIONS): Rename to IPV6_2292PKTOPTIONS.
	(IPV6_HOPLIMIT): Rename to IPV6_2292HOPLIMIT.
	(IPV6_RECVPKTINFO): New macro.
	(IPV6_PKTINFO): New macro.
2016-04-24 17:22:57 +02:00
Mike Frysinger
b2cae5d3f5 tst-fmon/tst-numeric: switch malloc to static stack space [BZ #19671]
The current test code doesn't check the return value of malloc.
This should rarely (if ever) cause a problem, but rather than add
some return value checks, just statically allocate the buffer on
the stack.  This will never fail (or if it does, we've got much
bigger problems that don't matter to the test).
2016-04-23 16:14:01 -04:00
Mike Frysinger
4964bb4591 tst-langinfo: update yesexpr/noexpr baselines 2016-04-23 14:14:55 -04:00
H.J. Lu
2bc983b78c Reduce number of mmap calls from __libc_memalign in ld.so
__libc_memalign in ld.so allocates one page at a time and tries to
optimize consecutive __libc_memalign calls by hoping that the next
mmap is after the current memory allocation.

However, the kernel hands out mmap addresses in top-down order, so
this optimization in practice never happens, with the result that we
have more mmap calls and waste a bunch of space for each __libc_memalign.

This change makes __libc_memalign to mmap one page extra.  Worst case,
the kernel never puts a backing page behind it, but best case it allows
__libc_memalign to operate much much better.  For elf/tst-align --direct,
it reduces number of mmap calls from 12 to 9.

	* elf/dl-minimal.c (__libc_memalign): Mmap one extra page.
2016-04-23 06:05:15 -07:00
Mike Frysinger
00277a3f81 localedata: CLDRv29: update LC_MESSAGES yes/no strings [BZ #15264] [BZ #16975]
The yes/no strings should be based on the dictionary words.  That means
they are capitalized based on the dictionary rather than position in the
sentence (e.g. the first word).
  bo_CN: nostr: changing མེན to མིན།
  bo_CN: yesstr: changing ཨིན to ཡིན།
  dz_BT: nostr: changing མེན to མེན་
  dz_BT: yesstr: changing ཨིན to ཨིན་
  en_CA: yesstr: changing Yes to yes
  en_CA: nostr: changing No to no
  en_US: yesstr: changing Yes to yes
  en_US: nostr: changing No to no
  es_ES: nostr: changing No to no
  es_ES: yesstr: changing Si to sí
  fi_FI: nostr: changing Ei to ei
  fi_FI: yesstr: changing Kyllä to kyllä
  ig_NG: yesstr: changing Ee to Eye
  ko_KR: nostr: changing 아니오 to 아니요
  ky_KG: nostr: changing Жок to жок
  ky_KG: yesstr: changing Ооба to ооба
  ms_MY: nostr: changing Tidak to tidak
  ms_MY: yesstr: changing Ya to ya
  te_IN: nostr: changing కాదు to వద్దు
  te_IN: yesstr: changing అవను to అవును
  ur_PK: nostr: changing نهيں to نہیں
  ur_PK: yesstr: changing بلكل to ہاں
  uz_UZ: nostr: changing Yo'q to yo‘q
  uz_UZ: yesstr: changing Ha to ha
  uz_UZ@cyrillic: nostr: changing Йўқ to йўқ
  uz_UZ@cyrillic: yesstr: changing Ҳа to ҳа
  wae_CH: nostr: changing Nei to nei
  wae_CH: yesstr: changing Ja to ja
  yo_NG: nostr: changing Bẹ́ẹ̀ kọ́ to Bẹ́ẹ̀kọ́
  yo_NG: yesstr: changing Bẹ́ẹ̀ ni to Bẹ́ẹ̀ni

Some of the translations were just wrong.
  el_GR: nostr: changing no to όχι
  el_GR: yesstr: changing yes to ναι
  km_KH: nostr: changing no:NO:n:N to ទេ​៖ n
  km_KH: yesstr: changing yes:YES:y:Y to បាទ/ចាស​៖ y
  ug_CN: nostr: changing No to ياق
  ug_CN: yesstr: changing Yes to ھەئە

Add missing translations for a number of locales:
  af_ZA: nostr: setting to nee
  af_ZA: yesstr: setting to ja
  am_ET: nostr: setting to አይ
  am_ET: yesstr: setting to አዎን
  ast_ES: nostr: setting to non
  ast_ES: yesstr: setting to sí
  be_BY: nostr: setting to не
  be_BY: yesstr: setting to так
  bem_ZM: nostr: setting to Awe
  bem_ZM: yesstr: setting to Ee
  bg_BG: nostr: setting to не
  bg_BG: yesstr: setting to да
  brx_IN: nostr: setting to नहीं
  brx_IN: yesstr: setting to हाँ
  bs_BA: nostr: setting to ne
  bs_BA: yesstr: setting to da
  ca_ES: nostr: setting to no
  ca_ES: yesstr: setting to sí
  da_DK: nostr: setting to nej
  da_DK: yesstr: setting to ja
  de_DE: nostr: setting to nein
  de_DE: yesstr: setting to ja
  en_DK: nostr: setting to yes
  en_DK: yesstr: setting to no
  et_EE: nostr: setting to ei
  et_EE: yesstr: setting to jah
  eu_ES: nostr: setting to ez
  eu_ES: yesstr: setting to bai
  fa_IR: nostr: setting to نه
  fa_IR: yesstr: setting to بله
  ff_SN: nostr: setting to Alaa
  ff_SN: yesstr: setting to Eey
  fo_FO: nostr: setting to nei
  fo_FO: yesstr: setting to já
  fr_BE: nostr: setting to non
  fr_BE: yesstr: setting to oui
  fr_CH: nostr: setting to non
  fr_CH: yesstr: setting to oui
  fr_FR: nostr: setting to non
  fr_FR: yesstr: setting to oui
  fr_LU: nostr: setting to non
  fr_LU: yesstr: setting to oui
  fur_IT: nostr: setting to no
  fur_IT: yesstr: setting to sì
  fy_DE: nostr: setting to nee
  fy_DE: yesstr: setting to ja
  ga_IE: nostr: setting to níl
  ga_IE: yesstr: setting to tá
  gd_GB: nostr: setting to chan eil
  gd_GB: yesstr: setting to tha
  gl_ES: nostr: setting to non
  gl_ES: yesstr: setting to si
  gu_IN: nostr: setting to નહીં
  gu_IN: yesstr: setting to હા
  he_IL: nostr: setting to לא
  he_IL: yesstr: setting to כן
  hi_IN: nostr: setting to नहीं
  hi_IN: yesstr: setting to हाँ
  hr_HR: nostr: setting to ne
  hr_HR: yesstr: setting to da
  hu_HU: nostr: setting to nem
  hu_HU: yesstr: setting to igen
  id_ID: nostr: setting to tidak
  id_ID: yesstr: setting to ya
  is_IS: nostr: setting to nei
  is_IS: yesstr: setting to já
  it_CH: nostr: setting to no
  it_CH: yesstr: setting to sì
  it_IT: nostr: setting to no
  it_IT: yesstr: setting to sì
  ka_GE: nostr: setting to არა
  ka_GE: yesstr: setting to კი
  kk_KZ: nostr: setting to жоқ
  kk_KZ: yesstr: setting to иә
  kl_GL: nostr: setting to naagga
  kl_GL: yesstr: setting to aap
  kn_IN: nostr: setting to ಇಲ್ಲ
  kn_IN: yesstr: setting to ಹೌದು
  ko_KR: yesstr: setting to 예
  lb_LU: nostr: setting to nee
  lb_LU: yesstr: setting to jo
  lg_UG: nostr: setting to Nedda
  lg_UG: yesstr: setting to Ye
  lt_LT: nostr: setting to ne
  lt_LT: yesstr: setting to taip
  lv_LV: nostr: setting to nē
  lv_LV: yesstr: setting to jā
  mg_MG: nostr: setting to Tsia
  mg_MG: yesstr: setting to Eny
  mn_MN: nostr: setting to үгүй
  mn_MN: yesstr: setting to тийм
  mr_IN: nostr: setting to नाहीःना
  mr_IN: yesstr: setting to होयःहो
  mt_MT: nostr: setting to le
  mt_MT: yesstr: setting to iva
  nb_NO: nostr: setting to nei
  nb_NO: yesstr: setting to ja
  ne_NP: nostr: setting to होइन
  ne_NP: yesstr: setting to हो
  nl_NL: nostr: setting to nee
  nl_NL: yesstr: setting to ja
  nn_NO: nostr: setting to nei
  nn_NO: yesstr: setting to ja
  or_IN: nostr: setting to ନା
  or_IN: yesstr: setting to ହଁ
  os_RU: nostr: setting to нӕйы
  os_RU: yesstr: setting to уойы
  pa_IN: nostr: setting to ਨਹੀਂ
  pa_IN: yesstr: setting to ਹਾਂ
  pl_PL: nostr: setting to nie
  pl_PL: yesstr: setting to tak
  pt_BR: nostr: setting to não
  pt_BR: yesstr: setting to sim
  pt_PT: nostr: setting to não
  pt_PT: yesstr: setting to sim
  ro_RO: nostr: setting to nu
  ro_RO: yesstr: setting to da
  ru_RU: nostr: setting to нет
  ru_RU: yesstr: setting to да
  ru_UA: nostr: setting to нет
  ru_UA: yesstr: setting to да
  se_NO: nostr: setting to ii
  se_NO: yesstr: setting to jo
  sl_SI: nostr: setting to ne
  sl_SI: yesstr: setting to da
  so_DJ: nostr: setting to maya
  so_DJ: yesstr: setting to haa
  so_SO: nostr: setting to maya
  so_SO: yesstr: setting to haa
  sq_AL: nostr: setting to jo
  sq_AL: yesstr: setting to po
  sr_RS@latin: nostr: setting to ne
  sr_RS@latin: yesstr: setting to da
  sr_RS: nostr: setting to не
  sr_RS: yesstr: setting to да
  sv_SE: nostr: setting to nej
  sv_SE: yesstr: setting to ja
  sw_KE: nostr: setting to Hapana
  sw_KE: yesstr: setting to Ndiyo
  yue_HK: nostr: setting to 唔係
  yue_HK: yesstr: setting to 係
  zu_ZA: nostr: setting to cha
  zu_ZA: yesstr: setting to yebo
2016-04-23 03:59:08 -04:00
Mike Frysinger
06f61f191b localedata: LC_MESSAGES.{yes,no}expr: standardize yY/nN [BZ #15262]
The vast majority of languages include yY/nN in their yes/no regexes.
Standardize the few that were missing them.
  ms_MY: noexpr: add nN
  nan_TW@latin: yesexpr: add yY
  nan_TW@latin: noexpr: add nN
  se_NO: noexpr: add nN

This also highlighted a few that were incorrectly using yY/nN because
they clashed with their localized messages:
  uz_UZ: yesexpr: change ^[+1YyHh] to ^[+1ҲҳHh]
  uz_UZ: noexpr: change ^[-0JjNn] to ^[-0ЙйNnYyJj]
  uz_UZ@cyrillic: yesexpr: change ^[+1ҲҳYy] to ^[+1ҲҳHh]
  uz_UZ@cyrillic: noexpr: change ^[-0ЙйNn] to [-0ЙйNnYyJj]
  yo_NG: move nN (short for Bẹ́ẹ̀ni) from noexpr to yesexpr
2016-04-23 03:54:27 -04:00
Mike Frysinger
f982160ead localedata: LC_MESSAGES.{yes,no}expr: add +1/-0 to all regexes [BZ #15263]
A handful of regexes were allowing +1 for yesexpr and -0 for noexpr,
and it's the i18n definition.  Standardize all locales by allowing
these language-independent values in them.

Example change for en_US goes from ^[yY] to ^[+1yY], and from ^[nN]
to ^[-0nN].
2016-04-23 03:41:56 -04:00
Mike Frysinger
ebf01e8334 localedata: standard LC_MESSAGES string regexes a bit
A few locales add .* to the end of regexes, but this isn't necessary.
Drop it to simplify things.  e.g. It goes from ^[yY].* to ^[yY].  Did
it for all these locales for yesexpr & noexpr:
  aa_ET ak_GH am_ET an_ES ar_EG as_IN ast_ES ayc_PE az_AZ be_BY
  be_BY@latin bem_ZM ber_DZ ber_MA bg_BG bhb_IN bo_IN br_FR ca_ES
  ce_RU csb_PL cs_CZ cv_RU cy_GB da_DK de_DE dv_MV dz_BT el_GR en_CA
  en_DK en_US es_ES et_EE eu_ES fa_IR ff_SN fi_FI fo_FO fr_BE fr_CH
  fr_FR fr_LU fur_IT fy_DE ga_IE gd_GB gl_ES gv_GB ha_NG he_IL hi_IN
  hr_HR hsb_DE ht_HT hu_HU ia_FR id_ID ig_NG is_IS it_CH it_IT ka_GE
  kk_KZ kl_GL kn_IN ks_IN ks_IN@devanagari ku_TR kw_GB ky_KG li_NL
  lij_IT lt_LT lv_LV mg_MG mhr_RU mi_NZ mk_MK mn_MN my_MM nan_TW@latin
  nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_NL nn_NO oc_FR
  or_IN os_RU pa_IN pa_PK pap_AW pap_CW pl_PL ps_AF pt_BR pt_PT quz_PE
  raj_IN ro_RO ru_RU ru_UA sa_IN sc_IT sd_IN@devanagari se_NO sk_SK
  sl_SI so_DJ so_SO sq_AL sv_SE sw_KE szl_PL tcy_IN te_IN tg_TJ the_NP
  tk_TM ti_ER ti_ET tt_RU tt_RU@iqtelif ug_CN unm_US ur_IN ur_PK uz_UZ
  uz_UZ@cyrillic vi_VN wa_BE wae_CH wo_SN yi_US yo_NG

A few locales were missing ^ anchors, so add them.  e.g. It goes from
[oOyY].* to ^[oOyY].
  fil_PH ik_CA iu_CA

Some locales are defining a subset of values when there are fuller ones
available (according to the language).  Switch them to copy instead.
  aa_DJ: copy aa_ET
  en_AU: copy en_US
  en_GB: copy en_US
  en_HK: copy en_US
  en_IN: copy en_US
  en_NG: copy en_US
  en_NZ: copy en_US
  en_PH: copy en_US
  en_SG: copy en_US
  en_ZA: copy en_US
  es_US: copy es_ES
  li_BE: copy nl_BE
2016-04-23 03:22:21 -04:00
Timur Birsh
f3d92ffb18 localedata: kk_KZ: various updates [BZ #15578]
Tweak some of the collation settings for a few characters.

Add/update various fields:
  LC_MESSAGES
    yesstr: set to иә
    nostr: set to жоқ
  LC_MONETARY
    mon_decimal_point: change . to ,
    mon_thousands_sep: change to a non-breaking space
    p_sep_by_space: change 1 to 2
    set int_{p,n}_* fields
  LC_NUMERIC
    thousands_sep: change , to a non-breaking space
  LC_TIME
    abday: change saturday from Сн to Сб
  LC_TELEPHONE
    tel_dom_fmt: set to (%A) %l
    int_select: set to 8~10
  LC_ADDRESS:
    country_post: set to KAZ
    country_ab2: set to KZ
    country_ab3: set to KAZ
    country_isbn: set to 978-601
    lang_name: set to қазақ тілі
2016-04-23 03:13:24 -04:00
Mike Frysinger
d088aa71f1 localedef: change week_1stweek default to 7
The ISO 14652/30112 specs say the defaults for the week keyword are:
	7, 19971130, 7

The localedef has been using those defaults for the first two, but
0 for the last one.
2016-04-23 03:02:00 -04:00
Mike Frysinger
0a410e76f5 localedata: CLDRv29: update LC_TIME week/first_week,workday fields
I've spot checked a number of these, including some that were def
wrong (like ff_SN).  It also fixes all open week-related bugs.

Since ff_SN is the only one that changes its base date, I also made
sure that its ordering of day translations were correct.  Looks like
another case Petr brought up where the week field was not actually
checked against the day arrays.

I also took the opportunity to drop first_weekday/first_workday when
the value aligned with the defaults (1 & 2 respectively).  This didn't
impact too many locales In practice because the majority omitted them
already.

A few locales were defining some values incorrectly for their region:
  ak_GH: week: changing [7, 19971130, 7] to [7, 19971130, 1]
  ak_GH: first_weekday: changing 1 to 2
  ayc_PE: week: changing [7, 19971130, 7] to [7, 19971130, 1]
  bem_ZM: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  bem_ZM: first_weekday: changing 1 to 2
  en_IE: first_weekday: changing 2 to 1
  en_US: week: changing [7, 19971130, 7] to [7, 19971130, 1]
  es_CO: first_weekday: changing 2 to 1
  es_ES: week: changing [7, 19971130, 5] to [7, 19971130, 4]
  ff_SN: week: changing [7, 19971129, 1] to [7, 19971130, 1]
  ff_SN: first_weekday: changing 1 to 2
  ga_IE: first_weekday: changing 2 to 1
  ht_HT: week: changing [7, 19971130, 7] to [7, 19971130, 1]
  ht_HT: first_weekday: changing 1 to 2
  mk_MK: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  mt_MT: first_weekday: changing 2 to 1
  quz_PE: week: changing [7, 19971130, 7] to [7, 19971130, 1]
  sr_ME: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  sr_RS: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  sr_RS@latin: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  sw_KE: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  sw_KE: first_weekday: changing 2 to 1
  uk_UA: week: changing [7, 19971130, 4] to [7, 19971130, 1]
  unm_US: week: changing [7, 19971130, 4] to [7, 19971130, 1]

Some locales were copying locales that had the wrong week settings, so
that content had to be duplicated so the values could be adjusted:
  el_CY: week: setting to [7, 19971130, 1]
  en_AG: week: setting to [7, 19971130, 1]
  en_AG: first_weekday: changing 2 to 1
  en_ZM: week: setting to [7, 19971130, 1]
  es_CU: week: setting to [7, 19971130, 1]
  nl_AW: week: setting to [7, 19971130, 1]
  sw_TZ: first_weekday: setting to 2
  ta_LK: first_weekday: setting to 2

The majority of locales were omitting the week field thus getting the
default [7, 19971130, 0 (localedef) / 7 (ISO standard)].  Unfortunately,
neither of those are used by any locales, so we end up having to define
the field just to se the ndays field.  In practice, this rarely matters
due to it usage, and the first two fields match the defaults.
  aa_DJ: setting to [7, 19971130, 1]
  aa_ER: setting to [7, 19971130, 1]
  aa_ER@saaho: setting to [7, 19971130, 1]
  aa_ET: setting to [7, 19971130, 1]
  af_ZA: setting to [7, 19971130, 1]
  am_ET: setting to [7, 19971130, 1]
  an_ES: setting to [7, 19971130, 4]
  anp_IN: setting to [7, 19971130, 1]
  ar_AE: setting to [7, 19971130, 1]
  ar_BH: setting to [7, 19971130, 1]
  ar_DZ: setting to [7, 19971130, 1]
  ar_EG: setting to [7, 19971130, 1]
  ar_IN: setting to [7, 19971130, 1]
  ar_IQ: setting to [7, 19971130, 1]
  ar_JO: setting to [7, 19971130, 1]
  ar_KW: setting to [7, 19971130, 1]
  ar_LB: setting to [7, 19971130, 1]
  ar_LY: setting to [7, 19971130, 1]
  ar_MA: setting to [7, 19971130, 1]
  ar_OM: setting to [7, 19971130, 1]
  ar_QA: setting to [7, 19971130, 1]
  ar_SA: setting to [7, 19971130, 1]
  ar_SD: setting to [7, 19971130, 1]
  ar_SS: setting to [7, 19971130, 1]
  ar_SY: setting to [7, 19971130, 1]
  ar_TN: setting to [7, 19971130, 1]
  ar_YE: setting to [7, 19971130, 1]
  as_IN: setting to [7, 19971130, 1]
  ast_ES: setting to [7, 19971130, 4]
  az_AZ: setting to [7, 19971130, 1]
  be_BY: setting to [7, 19971130, 1]
  be_BY@latin: setting to [7, 19971130, 1]
  ber_DZ: setting to [7, 19971130, 1]
  ber_MA: setting to [7, 19971130, 1]
  bg_BG: setting to [7, 19971130, 4]
  bhb_IN: setting to [7, 19971130, 1]
  bho_IN: setting to [7, 19971130, 1]
  bn_BD: setting to [7, 19971130, 1]
  bn_IN: setting to [7, 19971130, 1]
  bo_CN: setting to [7, 19971130, 1]
  br_FR: setting to [7, 19971130, 4]
  brx_IN: setting to [7, 19971130, 1]
  bs_BA: setting to [7, 19971130, 1]
  byn_ER: setting to [7, 19971130, 1]
  ca_AD: setting to [7, 19971130, 4]
  ca_ES: setting to [7, 19971130, 4]
  ca_ES@euro: setting to [7, 19971130, 4]
  ca_FR: setting to [7, 19971130, 4]
  ca_IT: setting to [7, 19971130, 4]
  ce_RU: setting to [7, 19971130, 1]
  cmn_TW: setting to [7, 19971130, 1]
  crh_UA: setting to [7, 19971130, 1]
  cv_RU: setting to [7, 19971130, 1]
  cy_GB: setting to [7, 19971130, 4]
  de_BE: setting to [7, 19971130, 4]
  de_LU: setting to [7, 19971130, 4]
  doi_IN: setting to [7, 19971130, 1]
  dv_MV: setting to [7, 19971130, 1]
  dz_BT: setting to [7, 19971130, 1]
  el_GR: setting to [7, 19971130, 4]
  el_GR@euro: setting to [7, 19971130, 4]
  en_AU: setting to [7, 19971130, 1]
  en_BW: setting to [7, 19971130, 1]
  en_CA: setting to [7, 19971130, 1]
  en_HK: setting to [7, 19971130, 1]
  en_IE: setting to [7, 19971130, 4]
  en_IN: setting to [7, 19971130, 1]
  en_NG: setting to [7, 19971130, 1]
  en_NZ: setting to [7, 19971130, 1]
  en_PH: setting to [7, 19971130, 1]
  en_SG: setting to [7, 19971130, 1]
  en_ZA: setting to [7, 19971130, 1]
  en_ZW: setting to [7, 19971130, 1]
  es_AR: setting to [7, 19971130, 1]
  es_BO: setting to [7, 19971130, 1]
  es_CL: setting to [7, 19971130, 1]
  es_CO: setting to [7, 19971130, 1]
  es_CR: setting to [7, 19971130, 1]
  es_DO: setting to [7, 19971130, 1]
  es_EC: setting to [7, 19971130, 1]
  es_ES@euro: setting to [7, 19971130, 4]
  es_GT: setting to [7, 19971130, 1]
  es_HN: setting to [7, 19971130, 1]
  es_MX: setting to [7, 19971130, 1]
  es_NI: setting to [7, 19971130, 1]
  es_PA: setting to [7, 19971130, 1]
  es_PE: setting to [7, 19971130, 1]
  es_PR: setting to [7, 19971130, 1]
  es_PY: setting to [7, 19971130, 1]
  es_SV: setting to [7, 19971130, 1]
  es_US: setting to [7, 19971130, 1]
  es_UY: setting to [7, 19971130, 1]
  es_VE: setting to [7, 19971130, 1]
  eu_ES: setting to [7, 19971130, 4]
  fa_IR: setting to [7, 19971130, 1]
  fil_PH: setting to [7, 19971130, 1]
  fo_FO: setting to [7, 19971130, 4]
  fr_CA: setting to [7, 19971130, 1]
  fr_CH: setting to [7, 19971130, 4]
  fr_LU: setting to [7, 19971130, 4]
  fy_NL: setting to [7, 19971130, 4]
  ga_IE: setting to [7, 19971130, 4]
  gd_GB: setting to [7, 19971130, 4]
  gez_ER: setting to [7, 19971130, 1]
  gez_ET: setting to [7, 19971130, 1]
  gl_ES: setting to [7, 19971130, 4]
  gu_IN: setting to [7, 19971130, 1]
  gv_GB: setting to [7, 19971130, 4]
  hak_TW: setting to [7, 19971130, 1]
  ha_NG: setting to [7, 19971130, 1]
  he_IL: setting to [7, 19971130, 1]
  hi_IN: setting to [7, 19971130, 1]
  hne_IN: setting to [7, 19971130, 1]
  hr_HR: setting to [7, 19971130, 1]
  hy_AM: setting to [7, 19971130, 1]
  id_ID: setting to [7, 19971130, 1]
  ig_NG: setting to [7, 19971130, 1]
  ik_CA: setting to [7, 19971130, 1]
  is_IS: setting to [7, 19971130, 4]
  it_CH: setting to [7, 19971130, 4]
  it_IT: setting to [7, 19971130, 4]
  it_IT@euro: setting to [7, 19971130, 4]
  iu_CA: setting to [7, 19971130, 1]
  ja_JP: setting to [7, 19971130, 1]
  ka_GE: setting to [7, 19971130, 1]
  kk_KZ: setting to [7, 19971130, 1]
  kl_GL: setting to [7, 19971130, 1]
  km_KH: setting to [7, 19971130, 1]
  kn_IN: setting to [7, 19971130, 1]
  kok_IN: setting to [7, 19971130, 1]
  ko_KR: setting to [7, 19971130, 1]
  ks_IN: setting to [7, 19971130, 1]
  ks_IN@devanagari: setting to [7, 19971130, 1]
  ku_TR: setting to [7, 19971130, 1]
  kw_GB: setting to [7, 19971130, 4]
  ky_KG: setting to [7, 19971130, 1]
  lg_UG: setting to [7, 19971130, 1]
  lij_IT: setting to [7, 19971130, 4]
  lo_LA: setting to [7, 19971130, 1]
  lt_LT: setting to [7, 19971130, 4]
  lv_LV: setting to [7, 19971130, 1]
  lzh_TW: setting to [7, 19971130, 1]
  mag_IN: setting to [7, 19971130, 1]
  mai_IN: setting to [7, 19971130, 1]
  mg_MG: setting to [7, 19971130, 1]
  mhr_RU: setting to [7, 19971130, 1]
  mi_NZ: setting to [7, 19971130, 1]
  ml_IN: setting to [7, 19971130, 1]
  mni_IN: setting to [7, 19971130, 1]
  mn_MN: setting to [7, 19971130, 1]
  mr_IN: setting to [7, 19971130, 1]
  ms_MY: setting to [7, 19971130, 1]
  mt_MT: setting to [7, 19971130, 1]
  my_MM: setting to [7, 19971130, 1]
  nan_TW: setting to [7, 19971130, 1]
  nan_TW@latin: setting to [7, 19971130, 1]
  ne_NP: setting to [7, 19971130, 1]
  nhn_MX: setting to [7, 19971130, 1]
  niu_NU: setting to [7, 19971130, 1]
  niu_NZ: setting to [7, 19971130, 1]
  nl_BE: setting to [7, 19971130, 4]
  nl_BE@euro: setting to [7, 19971130, 4]
  nr_ZA: setting to [7, 19971130, 1]
  nso_ZA: setting to [7, 19971130, 1]
  oc_FR: setting to [7, 19971130, 4]
  om_ET: setting to [7, 19971130, 1]
  om_KE: setting to [7, 19971130, 1]
  or_IN: setting to [7, 19971130, 1]
  os_RU: setting to [7, 19971130, 1]
  pa_IN: setting to [7, 19971130, 1]
  pap_AW: setting to [7, 19971130, 1]
  pap_CW: setting to [7, 19971130, 1]
  pa_PK: setting to [7, 19971130, 1]
  ps_AF: setting to [7, 19971130, 1]
  pt_BR: setting to [7, 19971130, 1]
  pt_PT: setting to [7, 19971130, 4]
  pt_PT@euro: setting to [7, 19971130, 4]
  raj_IN: setting to [7, 19971130, 1]
  ro_RO: setting to [7, 19971130, 1]
  ru_RU: setting to [7, 19971130, 1]
  ru_UA: setting to [7, 19971130, 1]
  rw_RW: setting to [7, 19971130, 1]
  sa_IN: setting to [7, 19971130, 1]
  sat_IN: setting to [7, 19971130, 1]
  sd_IN: setting to [7, 19971130, 1]
  sd_IN@devanagari: setting to [7, 19971130, 1]
  se_NO: setting to [7, 19971130, 4]
  shs_CA: setting to [7, 19971130, 1]
  sid_ET: setting to [7, 19971130, 1]
  si_LK: setting to [7, 19971130, 1]
  sl_SI: setting to [7, 19971130, 1]
  so_DJ: setting to [7, 19971130, 1]
  so_ET: setting to [7, 19971130, 1]
  so_KE: setting to [7, 19971130, 1]
  so_SO: setting to [7, 19971130, 1]
  sq_AL: setting to [7, 19971130, 1]
  ss_ZA: setting to [7, 19971130, 1]
  st_ZA: setting to [7, 19971130, 1]
  sv_FI: setting to [7, 19971130, 4]
  sv_SE: setting to [7, 19971130, 4]
  ta_IN: setting to [7, 19971130, 1]
  tcy_IN: setting to [7, 19971130, 1]
  te_IN: setting to [7, 19971130, 1]
  tg_TJ: setting to [7, 19971130, 1]
  the_NP: setting to [7, 19971130, 1]
  th_TH: setting to [7, 19971130, 1]
  ti_ER: setting to [7, 19971130, 1]
  ti_ET: setting to [7, 19971130, 1]
  tig_ER: setting to [7, 19971130, 1]
  tk_TM: setting to [7, 19971130, 1]
  tl_PH: setting to [7, 19971130, 1]
  tn_ZA: setting to [7, 19971130, 1]
  tr_CY: setting to [7, 19971130, 1]
  tr_TR: setting to [7, 19971130, 1]
  ts_ZA: setting to [7, 19971130, 1]
  tt_RU: setting to [7, 19971130, 1]
  tt_RU@iqtelif: setting to [7, 19971130, 1]
  ug_CN: setting to [7, 19971130, 1]
  ur_IN: setting to [7, 19971130, 1]
  ur_PK: setting to [7, 19971130, 1]
  uz_UZ: setting to [7, 19971130, 1]
  uz_UZ@cyrillic: setting to [7, 19971130, 1]
  ve_ZA: setting to [7, 19971130, 1]
  vi_VN: setting to [7, 19971130, 1]
  wa_BE: setting to [7, 19971130, 4]
  wal_ET: setting to [7, 19971130, 1]
  wo_SN: setting to [7, 19971130, 1]
  xh_ZA: setting to [7, 19971130, 1]
  yi_US: setting to [7, 19971130, 1]
  yo_NG: setting to [7, 19971130, 1]
  yue_HK: setting to [7, 19971130, 1]
  zh_CN: setting to [7, 19971130, 1]
  zh_HK: setting to [7, 19971130, 1]
  zh_SG: setting to [7, 19971130, 1]
  zh_TW: setting to [7, 19971130, 1]
  zu_ZA: setting to [7, 19971130, 1]

Finally, set first_weekday in all the locales that were omitting it
and wanted something other than the default of 1.
  aa_DJ: setting to 7
  aa_ER: setting to 2
  aa_ER@saaho: setting to 2
  ar_AE: setting to 7
  ar_BH: setting to 7
  ar_DZ: setting to 7
  ar_EG: setting to 7
  ar_IQ: setting to 7
  ar_JO: setting to 7
  ar_KW: setting to 7
  ar_LB: setting to 2
  ar_LY: setting to 7
  ar_MA: setting to 7
  ar_OM: setting to 7
  ar_QA: setting to 7
  ar_SD: setting to 7
  ar_SS: setting to 2
  ar_SY: setting to 7
  az_AZ: setting to 2
  be_BY: setting to 2
  be_BY@latin: setting to 2
  ber_DZ: setting to 7
  ber_MA: setting to 7
  bn_BD: setting to 6
  bs_BA: setting to 2
  byn_ER: setting to 2
  dv_MV: setting to 6
  en_NG: setting to 2
  es_BO: setting to 2
  es_CL: setting to 2
  es_EC: setting to 2
  es_UY: setting to 2
  fo_FO: setting to 2
  fr_CH: setting to 2
  gd_GB: setting to 2
  gez_ER: setting to 2
  ha_NG: setting to 2
  hr_HR: setting to 2
  hy_AM: setting to 2
  ig_NG: setting to 2
  is_IS: setting to 2
  it_CH: setting to 2
  ka_GE: setting to 2
  kk_KZ: setting to 2
  kl_GL: setting to 2
  ku_TR: setting to 2
  ky_KG: setting to 2
  lg_UG: setting to 2
  mg_MG: setting to 2
  mn_MN: setting to 2
  ms_MY: setting to 2
  niu_NU: setting to 2
  pap_AW: setting to 2
  pap_CW: setting to 2
  pt_PT: setting to 2
  pt_PT@euro: setting to 2
  rw_RW: setting to 2
  se_NO: setting to 2
  si_LK: setting to 2
  so_DJ: setting to 7
  so_SO: setting to 2
  sq_AL: setting to 2
  tg_TJ: setting to 2
  ti_ER: setting to 2
  tig_ER: setting to 2
  tk_TM: setting to 2
  tt_RU: setting to 2
  tt_RU@iqtelif: setting to 2
  uz_UZ: setting to 2
  uz_UZ@cyrillic: setting to 2
  vi_VN: setting to 2
  wo_SN: setting to 2
  yo_NG: setting to 2
2016-04-23 03:01:45 -04:00
Rajalakshmi Srinivasaraghavan
e413b14e18 powerpc: strcasestr optmization for power8
This patch optimizes strcasestr function for power >= 8 systems.  The average
improvement of this optimization is ~40% and compares 16 bytes at a time
using vector instructions.  This patch is tested on powerpc64 and powerpc64le.
2016-04-22 19:23:13 +05:30
Guy Rutenberg
146ffc146f localedata: en_IL: new English locale [BZ #19963] 2016-04-21 22:49:53 -04:00
Claude Paroz
c33ab198fd localedata: ln_CD: new locale [BZ #12676] 2016-04-21 22:48:10 -04:00
Siddhesh Poyarekar
2d304f3c6f benchtests: Support for cross-building benchmarks
This patch adds full support for cross-building benchmarks.  Some
benchmarks like those that need locales to be generated cannot be
built and are hence skipped for cross builds.

Tested by cross building for aarch64 on x86_64 and then running the
generated benchmark on aarch64.

	* benchtests/Makefile (wcsmbs-benchset): Include only for
	native builds and runs.
	(LOCALES): Likewise.
	(bench-build): Build timing-type here instead of the bench
	target.  Generate locale only for native builds.
	* benchtests/README: Add note for cross-building.
2016-04-20 13:19:01 +05:30
Siddhesh Poyarekar
d7aea0cf06 benchtests: Clean up extra-objs
The bench-clean target would leave behind json-lib.o.  Fix up to clean
up all extra-objs registered in benchtests.
2016-04-20 13:15:50 +05:30
Siddhesh Poyarekar
f1f9a72bdc Fix up ChangeLog
Looks like I have forgotten what a ChangeLog entry looks like :/
2016-04-20 12:46:20 +05:30