[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r24638 - in /fsf/trunk/libc: localedata/ localedata/locales/ ports/ ports/sysdeps/unix/sysv/linux/mips/ ports/sysdeps/unix/s...



Author: eglibc
Date: Thu Nov 28 00:01:54 2013
New Revision: 24638

Log:
Import glibc-mainline for 2013-11-28

Added:
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/getrlimit64.c
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Versions
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/setrlimit64.c
Modified:
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/ka_GE
    fsf/trunk/libc/localedata/locales/kl_GL
    fsf/trunk/libc/localedata/locales/kn_IN
    fsf/trunk/libc/localedata/locales/ko_KR
    fsf/trunk/libc/localedata/locales/kok_IN
    fsf/trunk/libc/localedata/locales/ks_IN
    fsf/trunk/libc/localedata/locales/ks_IN@devanagari
    fsf/trunk/libc/localedata/locales/kw_GB
    fsf/trunk/libc/localedata/locales/ky_KG
    fsf/trunk/libc/localedata/locales/lg_UG
    fsf/trunk/libc/localedata/locales/li_BE
    fsf/trunk/libc/localedata/locales/li_NL
    fsf/trunk/libc/localedata/locales/lij_IT
    fsf/trunk/libc/localedata/locales/lt_LT
    fsf/trunk/libc/localedata/locales/lv_LV
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Thu Nov 28 00:01:54 2013
@@ -1,3 +1,21 @@
+2013-11-26  Chris Leonard  <cjl@xxxxxxxxxxxxx>
+
+	* locales/ka_GE: Add lang_name to various locales.
+	* locales/kl_GL: Likewise.
+	* locales/kn_IN: Likewise.
+	* locales/ko_KR: Likewise.
+	* locales/kok_IN: Likewise.
+	* locales/ks_IN: Likewise.
+	* locales/ks_IN@devanagari: Likewise.
+	* locales/kw_GB: Likewise.
+	* locales/ky_KG: Likewise.
+	* locales/lg_UG: Likewise.
+	* locales/li_BE: Likewise.
+	* locales/li_NL: Likewise.
+	* locales/lij_IT: Likewise.
+	* locales/lt_LT: Likewise.
+	* locales/lv_LV: Likewise.
+
 2013-11-25  Chris Leonard  <cjl@xxxxxxxxxxxxx>
 
 	* locales/ga_IE: Add lang_name to various locales.

Modified: fsf/trunk/libc/localedata/locales/ka_GE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ka_GE (original)
+++ fsf/trunk/libc/localedata/locales/ka_GE Thu Nov 28 00:01:54 2013
@@ -39,7 +39,6 @@
 postal_fmt "<U0025><U0064><U0025><U004E><U0025><U0066><U0025><U004E><U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E>/
 <U0025><U0073><U0020><U0025><U0068><U0020><U0035><U0065><U0020><U0025><U0072><U0025><U004E>/
 <U0025><U0043><U0025><U007A><U0020><U0025><U0054><U0025><U004E><U0025><U0063><U0025><U004E>"
-% FIXME country_name  'Georgia' in Georgian
 % country_post "GE" for Georgia ?
 country_ab2 "GE"
 country_ab3 "GEO"
@@ -47,7 +46,8 @@
 % GE
 country_car    "<U0047><U0045>"
 country_isbn "99928"
-% lang_name FIXME Georgian in Georgian
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
+lang_name    "<U10E5><U10D0><U10E0><U10D7><U10E3><U10DA><U10D8>"
 % ka
 lang_ab      "<U006B><U0061>"
 % kat
@@ -132,7 +132,7 @@
 "<U10DC><U10DD><U10D4><U10DB><U10D1><U10D4><U10E0><U10D8>";/
 "<U10D3><U10D4><U10D9><U10D4><U10DB><U10D1><U10D4><U10E0><U10D8>"
 
-%"%Y ÃÃÃÃ %d %B"
+%"%Y ÃÂÃÂÃÂÃÂ %d %B"
 d_t_fmt  "<U0025><U0059><U0020><U10EC><U10DA><U10D8><U10E1><U0020><U0025><U0064><U0020><U0025><U0042><U002C><U0020><U0025><U0054><U0020><U0025><U005A>"
 d_fmt    "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0059>"
 t_fmt    "<U0025><U0054>"

Modified: fsf/trunk/libc/localedata/locales/kl_GL
==============================================================================
--- fsf/trunk/libc/localedata/locales/kl_GL (original)
+++ fsf/trunk/libc/localedata/locales/kl_GL Thu Nov 28 00:01:54 2013
@@ -145,6 +145,8 @@
 country_num 304
 % GRO
 country_car  "<U0047><U0052><U004F>"
+% Kalaallisut
+lang_name    "<U004B><U0061><U006C><U0061><U0061><U006C><U006C><U0069><U0073><U0075><U0074>"
 % kl
 lang_ab      "<U006B><U006C>"
 % kal

Modified: fsf/trunk/libc/localedata/locales/kn_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/kn_IN (original)
+++ fsf/trunk/libc/localedata/locales/kn_IN Thu Nov 28 00:01:54 2013
@@ -221,6 +221,8 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
+lang_name    "<U0C95><U0CA8><U0CCD><U0CA8><U0CA1>"
 % kn
 lang_ab      "<U006B><U006E>"
 % kan

Modified: fsf/trunk/libc/localedata/locales/ko_KR
==============================================================================
--- fsf/trunk/libc/localedata/locales/ko_KR (original)
+++ fsf/trunk/libc/localedata/locales/ko_KR Thu Nov 28 00:01:54 2013
@@ -6249,6 +6249,8 @@
 country_num 410
 % ROK
 country_car    "<U0052><U004F><U004B>"
+% ÃÂÂÃÂÂÃÂÂ
+lang_name    "<UD55C><UAD6D><UB9D0>"
 % ko
 lang_ab      "<U006B><U006F>"
 % kor

Modified: fsf/trunk/libc/localedata/locales/kok_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/kok_IN (original)
+++ fsf/trunk/libc/localedata/locales/kok_IN Thu Nov 28 00:01:54 2013
@@ -198,6 +198,8 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
+lang_name    "<U0915><U094B><U0902><U0915><U0923><U0940>"
 % kok
 lang_term    "<U006B><U006F><U006B>"
 % kok

Modified: fsf/trunk/libc/localedata/locales/ks_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ks_IN (original)
+++ fsf/trunk/libc/localedata/locales/ks_IN Thu Nov 28 00:01:54 2013
@@ -198,6 +198,8 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
+% kÃÂÂÃÂÃÂur
+lang_name    "<U006B><U1EA1><U0304><U0161><U0075><U0072>"
 % ks
 lang_ab      "<U006B><U0073>"
 % kas

Modified: fsf/trunk/libc/localedata/locales/ks_IN@devanagari
==============================================================================
--- fsf/trunk/libc/localedata/locales/ks_IN@devanagari (original)
+++ fsf/trunk/libc/localedata/locales/ks_IN@devanagari Thu Nov 28 00:01:54 2013
@@ -154,7 +154,22 @@
 
 
 LC_ADDRESS
-copy "ks_IN"
+% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category
+% generated by IBM Basic CountryPack Transformer.
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073><U0025><U0062><U0025><U0065><U0025><U0072>"
+country_ab2 "<U0049><U004E>"
+country_ab3 "<U0049><U004E><U0044>"
+country_num 356
+% IND
+country_car    "<U0049><U004E><U0044>"
+% ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
+lang_name    "<U0915><U0949><U0936><U0941><U0930>"
+% ks
+lang_ab      "<U006B><U0073>"
+% kas
+lang_term    "<U006B><U0061><U0073>"
+% kas
+lang_lib    "<U006B><U0061><U0073>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/kw_GB
==============================================================================
--- fsf/trunk/libc/localedata/locales/kw_GB (original)
+++ fsf/trunk/libc/localedata/locales/kw_GB Thu Nov 28 00:01:54 2013
@@ -166,6 +166,8 @@
 country_num 826
 % GB
 country_car    "<U0047><U0042>"
+% Kernowek
+lang_name    "<U004B><U0065><U0072><U006E><U006F><U0077><U0065><U006B>"
 % kw
 lang_ab      "<U006B><U0077>"
 % cor

Modified: fsf/trunk/libc/localedata/locales/ky_KG
==============================================================================
--- fsf/trunk/libc/localedata/locales/ky_KG (original)
+++ fsf/trunk/libc/localedata/locales/ky_KG Thu Nov 28 00:01:54 2013
@@ -207,6 +207,8 @@
 %country_num 643
 % KS
 country_car    "<U004B><U0053>"
+% ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ
+lang_name    "<U041A><U044B><U0440><U0433><U044B><U0437><U0447><U0430>"
 % ky
 lang_ab      "<U006B><U0079>"
 % kir

Modified: fsf/trunk/libc/localedata/locales/lg_UG
==============================================================================
--- fsf/trunk/libc/localedata/locales/lg_UG (original)
+++ fsf/trunk/libc/localedata/locales/lg_UG Thu Nov 28 00:01:54 2013
@@ -333,6 +333,8 @@
 country_num 800
 % EAU
 country_car    "<U0045><U0041><U0055>"
+% Oluganda
+lang_name    "<U004F><U006C><U0075><U0067><U0061><U006E><U0064><U0061>"
 % lg
 lang_ab      "<U006C><U0067>"
 % lug

Modified: fsf/trunk/libc/localedata/locales/li_BE
==============================================================================
--- fsf/trunk/libc/localedata/locales/li_BE (original)
+++ fsf/trunk/libc/localedata/locales/li_BE Thu Nov 28 00:01:54 2013
@@ -48,7 +48,8 @@
 country_car   "<U0042>"
 country_num 56
 %FIXME country_isbn "2"
-lang_name "<U004C><U0069><U006D><U0062><U0075><U0072><U0067><U0073>"
+% LÃÂmbÃÂrgs
+lang_name    "<U004C><U00E8><U006D><U0062><U00F6><U0072><U0067><U0073>"
 lang_ab "<U006C><U0069>"
 lang_term "<U006C><U0069><U006D>"
 lang_lib "<U006C><U0069><U006D>"

Modified: fsf/trunk/libc/localedata/locales/li_NL
==============================================================================
--- fsf/trunk/libc/localedata/locales/li_NL (original)
+++ fsf/trunk/libc/localedata/locales/li_NL Thu Nov 28 00:01:54 2013
@@ -48,7 +48,8 @@
 country_car   "<U004E><U004C>"
 country_num 528
 %FIXME country_isbn "2"
-lang_name "<U004C><U0069><U006D><U0062><U0075><U0072><U0067><U0073>"
+% LÃÂmbÃÂrgs
+lang_name    "<U004C><U00E8><U006D><U0062><U00F6><U0072><U0067><U0073>"
 lang_ab "<U006C><U0069>"
 lang_term "<U006C><U0069><U006D>"
 lang_lib "<U006C><U0069><U006D>"

Modified: fsf/trunk/libc/localedata/locales/lij_IT
==============================================================================
--- fsf/trunk/libc/localedata/locales/lij_IT (original)
+++ fsf/trunk/libc/localedata/locales/lij_IT Thu Nov 28 00:01:54 2013
@@ -131,6 +131,8 @@
 country_num 380
 % I
 country_car    "<U0049>"
+% LÃÂgure
+lang_name    "<U004C><U00EC><U0067><U0075><U0072><U0065>"
 % lij
 lang_term    "<U006C><U0069><U006A>"
 % lij

Modified: fsf/trunk/libc/localedata/locales/lt_LT
==============================================================================
--- fsf/trunk/libc/localedata/locales/lt_LT (original)
+++ fsf/trunk/libc/localedata/locales/lt_LT Thu Nov 28 00:01:54 2013
@@ -2234,6 +2234,8 @@
 country_num 440
 % LT
 country_car    "<U004C><U0054>"
+% lietuviÃÂ kalba
+lang_name    "<U006C><U0069><U0065><U0074><U0075><U0076><U0069><U0173><U0020><U006B><U0061><U006C><U0062><U0061>"
 % lt
 lang_ab      "<U006C><U0074>"
 % lit

Modified: fsf/trunk/libc/localedata/locales/lv_LV
==============================================================================
--- fsf/trunk/libc/localedata/locales/lv_LV (original)
+++ fsf/trunk/libc/localedata/locales/lv_LV Thu Nov 28 00:01:54 2013
@@ -2226,6 +2226,8 @@
 country_num 428
 % LV
 country_car    "<U004C><U0056>"
+% latvieÃÂu valoda
+lang_name    "<U006C><U0061><U0074><U0076><U0069><U0065><U0161><U0075><U0020><U0076><U0061><U006C><U006F><U0064><U0061>"
 % lv
 lang_ab      "<U006C><U0076>"
 % lav

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Thu Nov 28 00:01:54 2013
@@ -1,3 +1,26 @@
+2013-11-27  Aurelien Jarno <aurelien@xxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIM64_INFINITY): Fix
+	Fix 64-bit value for 32-bit ABIs.
+	* sysdeps/unix/sysv/linux/mips/getrlimit64.c: Rename generic getrlimit64
+	version as getrlimit64@@GLIBC_2_2.  Provide the getrlimit64 as
+	getrlimit64@@GLIBC_2_19.
+	* sysdeps/unix/sysv/linux/mips/setrlimit64.c: Ditto with setrlimit64.
+	* sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist (GLIBC_2.19):
+	Add getrlimit64 and setrlimit64.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist: Ditto.
+	* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
+	getrlimit64@@GLIBC_2_19 and setrlimit64@@GLIBC_2_19.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/Versions: Ditto.
+
+2013-11-27  Aurelien Jarno <aurelien@xxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/getrlimit64.c: On O32 and N32 ABIs,
+	include the generic getrlimit64 version as __internal_getrlimit64
+	and add a wrapper around it to convert the RLIM64_INFINITY constant
+	between the libc and the kernel version.
+	* sysdeps/unix/sysv/linux/mips/setrlimit64.c: Ditto with setrlimit64.
+
 2013-11-26  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
 	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Use __glibc_reserved instead __unused.
 	* sysdeps/unix/sysv/linux/mips/bits/msq.h: Likewise.

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h Thu Nov 28 00:01:54 2013
@@ -122,10 +122,10 @@
 # ifndef __USE_FILE_OFFSET64
 #  define RLIM_INFINITY ((long int)(~0UL >> 1))
 # else
-#  define RLIM_INFINITY 0x7fffffffffffffffULL
+#  define RLIM_INFINITY 0xffffffffffffffffULL
 # endif
 # ifdef __USE_LARGEFILE64
-#  define RLIM64_INFINITY 0x7fffffffffffffffULL
+#  define RLIM64_INFINITY 0xffffffffffffffffULL
 # endif
 #endif
 

Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/getrlimit64.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/getrlimit64.c (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/getrlimit64.c Thu Nov 28 00:01:54 2013
@@ -1,0 +1,66 @@
+/* Copyright (C) 2013 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
+
+# include <shlib-compat.h>
+
+# define getrlimit64 __new_getrlimit64
+# include <sysdeps/unix/sysv/linux/getrlimit64.c>
+# undef getrlimit64
+
+versioned_symbol (libc, __new_getrlimit64, getrlimit64, GLIBC_2_19);
+strong_alias (__new_getrlimit64, __GI_getrlimit64)
+
+# if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_19)
+
+/* RLIM64_INFINITY was supposed to be a glibc convention rather than
+   anything seen by the kernel, but it ended being passed to the kernel
+   through the prlimit64 syscall.  Given that a lot of binaries with
+   the wrong constant value are in the wild, provide a wrapper function
+   fixing the value after the syscall.  */
+
+#  define OLD_RLIM64_INFINITY		0x7fffffffffffffffULL
+
+int
+attribute_compat_text_section
+__old_getrlimit64 (enum __rlimit_resource resource,
+		   struct rlimit64 *rlimits)
+{
+  struct rlimit64 krlimits;
+
+  if (__new_getrlimit64 (resource, &krlimits) < 0)
+    return -1;
+
+  if (krlimits.rlim_cur == RLIM64_INFINITY)
+    rlimits->rlim_cur = OLD_RLIM64_INFINITY;
+  else
+    rlimits->rlim_cur = krlimits.rlim_cur;
+  if (krlimits.rlim_max == RLIM64_INFINITY)
+    rlimits->rlim_max = OLD_RLIM64_INFINITY;
+  else
+    rlimits->rlim_max = krlimits.rlim_max;
+
+  return 0;
+}
+
+compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_2);
+# endif
+
+#else /* !_ABI_O32 && !_ABI_N32 */
+# include <sysdeps/unix/sysv/linux/getrlimit64.c>
+#endif

Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Versions
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Versions (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/Versions Thu Nov 28 00:01:54 2013
@@ -1,0 +1,6 @@
+libc {
+  GLIBC_2.19 {
+    getrlimit64;
+    setrlimit64;
+  }
+}

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist Thu Nov 28 00:01:54 2013
@@ -1403,6 +1403,10 @@
  __cxa_thread_atexit_impl F
  __mips_fpu_getcw F
  __mips_fpu_setcw F
+GLIBC_2.19
+ GLIBC_2.19 A
+ getrlimit64 F
+ setrlimit64 F
 GLIBC_2.2
  GLIBC_2.2 A
  _Exit F

Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/Versions Thu Nov 28 00:01:54 2013
@@ -1,0 +1,6 @@
+libc {
+  GLIBC_2.19 {
+    getrlimit64;
+    setrlimit64;
+  }
+}

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist Thu Nov 28 00:01:54 2013
@@ -1401,6 +1401,10 @@
 GLIBC_2.18
  GLIBC_2.18 A
  __cxa_thread_atexit_impl F
+GLIBC_2.19
+ GLIBC_2.19 A
+ getrlimit64 F
+ setrlimit64 F
 GLIBC_2.2
  GLIBC_2.2 A
  _Exit F

Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/setrlimit64.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/setrlimit64.c (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/setrlimit64.c Thu Nov 28 00:01:54 2013
@@ -1,0 +1,63 @@
+/* Copyright (C) 2013 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+
+#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
+
+# include <shlib-compat.h>
+
+# define setrlimit64 __new_setrlimit64
+# include <sysdeps/unix/sysv/linux/setrlimit64.c>
+# undef setrlimit64
+
+versioned_symbol (libc, __new_setrlimit64, setrlimit64, GLIBC_2_19);
+
+# if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_19)
+
+/* RLIM64_INFINITY was supposed to be a glibc convention rather than
+   anything seen by the kernel, but it ended being passed to the kernel
+   through the prlimit64 syscall.  Given that a lot of binaries with
+   the wrong constant value are in the wild, provide a wrapper function
+   fixing the value before the syscall.  */
+
+#  define OLD_RLIM64_INFINITY		0x7fffffffffffffffULL
+
+int
+attribute_compat_text_section
+__old_setrlimit64 (enum __rlimit_resource resource,
+		   const struct rlimit64 *rlimits)
+{
+  struct rlimit64 krlimits;
+
+  if (rlimits->rlim_cur == OLD_RLIM64_INFINITY)
+    krlimits.rlim_cur = RLIM64_INFINITY;
+  else
+    krlimits.rlim_cur = rlimits->rlim_cur;
+  if (rlimits->rlim_max == OLD_RLIM64_INFINITY)
+    krlimits.rlim_max = RLIM64_INFINITY;
+  else
+    krlimits.rlim_max = rlimits->rlim_max;
+
+  return __new_setrlimit64 (resource, &krlimits);
+}
+
+compat_symbol (libc, __old_setrlimit64, setrlimit64, GLIBC_2_2);
+# endif
+
+#else /* !_ABI_O32 && !_ABI_N32 */
+# include <sysdeps/unix/sysv/linux/setrlimit64.c>
+#endif

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits