[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21894 - in /fsf/trunk/libc: ./ debug/ inet/ localedata/ localedata/locales/ nscd/ ports/ ports/sysdeps/hppa/fpu/ ports/sysd...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21894 - in /fsf/trunk/libc: ./ debug/ inet/ localedata/ localedata/locales/ nscd/ ports/ ports/sysdeps/hppa/fpu/ ports/sysd...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 30 Nov 2012 00:04:17 -0000
Author: eglibc
Date: Fri Nov 30 00:04:14 2012
New Revision: 21894
Log:
Import glibc-mainline for 2012-11-30
Added:
fsf/trunk/libc/localedata/locales/ia_FR
fsf/trunk/libc/ports/sysdeps/mips/mips64/n32/_itoa.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h
Removed:
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/debug/test-strcpy_chk.c
fsf/trunk/libc/inet/tst-inet6_rth.c
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/localedata/SUPPORTED
fsf/trunk/libc/nscd/grpcache.c
fsf/trunk/libc/ports/ChangeLog.aarch64
fsf/trunk/libc/ports/ChangeLog.hppa
fsf/trunk/libc/ports/ChangeLog.m68k
fsf/trunk/libc/ports/ChangeLog.mips
fsf/trunk/libc/ports/ChangeLog.tile
fsf/trunk/libc/ports/sysdeps/hppa/fpu/feholdexcpt.c
fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
fsf/trunk/libc/ports/sysdeps/tile/s_fmaf.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/mmap.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/register-dump.h
fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Nov 30 00:04:14 2012
@@ -1,3 +1,23 @@
+2012-11-29 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * inet/tst-inet6_rth.c (do_test): Use a union rather than type punning.
+
+2012-11-28 Jeff Law <law@xxxxxxxxxx>
+
+ [BZ #13761]
+ * nscd/grpcache.c (cache_addgr): Rename alloca_used to
+ dataset_temporary. Track alloca usage into alloca_used.
+ If dataset is large allocate and release it via malloc/free.
+
+2012-06-04 Florian Weimer <fweimer@xxxxxxxxxx>
+
+ [BZ #14197]
+ * debug/test-strcpy_chk.c: Mention __chk_fail ABI test.
+
+2012-11-28 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * sysdeps/sparc/fpu/libm-test-ulps: Update.
+
2012-11-28 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #14803]
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Nov 30 00:04:14 2012
@@ -9,20 +9,20 @@
* The following bugs are resolved with this release:
- 1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685,
- 9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 11741, 12140,
- 13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696, 13698, 13717,
- 13741, 13759, 13763, 13881, 13939, 13950, 13952, 13966, 14042, 14047,
- 14090, 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195, 14237,
- 14251, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337,
- 14347, 14349, 14368, 14376, 14417, 14459, 14476, 14477, 14501, 14505,
- 14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545,
- 14557, 14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610,
- 14621, 14638, 14645, 14648, 14652, 14660, 14661, 14669, 14672, 14683,
- 14694, 14716, 14719, 14743, 14767, 14783, 14784, 14785, 14793, 14796,
- 14797, 14801, 14803, 14805, 14807, 14811, 14815, 14821, 14822, 14824,
- 14828, 14831, 14835, 14838, 14856, 14863, 14865, 14866, 14868, 14869,
- 14871, 14889.
+ 1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6677, 6778, 6808,
+ 9685, 9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 11741,
+ 12140, 13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696, 13698,
+ 13717, 13741, 13759, 13761, 13763, 13881, 13939, 13950, 13952, 13966,
+ 14042, 14047, 14090, 14150, 14151, 14152, 14154, 14157, 14166, 14173,
+ 14195, 14197, 14237, 14251, 14252, 14283, 14298, 14303, 14307, 14328,
+ 14331, 14336, 14337, 14347, 14349, 14368, 14376, 14417, 14447, 14459,
+ 14476, 14477, 14501, 14505, 14510, 14516, 14518, 14519, 14530, 14532,
+ 14538, 14543, 14544, 14545, 14557, 14562, 14568, 14576, 14579, 14583,
+ 14587, 14595, 14602, 14610, 14621, 14638, 14645, 14648, 14652, 14660,
+ 14661, 14669, 14672, 14683, 14694, 14716, 14719, 14743, 14767, 14783,
+ 14784, 14785, 14793, 14796, 14797, 14801, 14803, 14805, 14807, 14811,
+ 14815, 14821, 14822, 14824, 14828, 14831, 14835, 14838, 14856, 14863,
+ 14865, 14866, 14868, 14869, 14871, 14879, 14889, 14893.
* CVE-2011-4609 svc_run() produces high cpu usage when accept fails with
EMFILE has been fixed (Bugzilla #14889).
@@ -83,8 +83,8 @@
library at runtime and so will not suffer the overheads associated with
multi-thread support in other code such as the C++ runtime library.
-* New locales: ayc_PE, doi_IN, mni_IN, nhn_MX, niu_NU, niu_NZ, sat_IN, and
- szl_PL.
+* New locales: ayc_PE, doi_IN, ia_FR, mni_IN, nhn_MX, niu_NU, niu_NZ,
+ sat_IN, and szl_PL.
Version 2.16
Modified: fsf/trunk/libc/debug/test-strcpy_chk.c
==============================================================================
--- fsf/trunk/libc/debug/test-strcpy_chk.c (original)
+++ fsf/trunk/libc/debug/test-strcpy_chk.c Fri Nov 30 00:04:14 2012
@@ -23,6 +23,9 @@
# define TEST_NAME "strcpy_chk"
# include "../string/test-string.h"
+/* This test case implicitly tests the availability of the __chk_fail
+ symbol, which is part of the public ABI and may be used
+ externally. */
extern void __attribute__ ((noreturn)) __chk_fail (void);
char *simple_strcpy_chk (char *, const char *, size_t);
extern char *normal_strcpy (char *, const char *, size_t)
Modified: fsf/trunk/libc/inet/tst-inet6_rth.c
==============================================================================
--- fsf/trunk/libc/inet/tst-inet6_rth.c (original)
+++ fsf/trunk/libc/inet/tst-inet6_rth.c Fri Nov 30 00:04:14 2012
@@ -66,20 +66,24 @@
goto out;
}
- char buf2[1000];
- if (inet6_rth_reverse (p, buf2) != 0)
+ union
+ {
+ char buffer[1000];
+ struct ip6_rthdr0 rthdr0;
+ } buf2;
+ if (inet6_rth_reverse (p, buf2.buffer) != 0)
{
puts ("first inet6_rth_reverse call failed");
res = 1;
goto out;
}
- if (((struct ip6_rthdr0 *) buf2)->ip6r0_segleft != nseg)
+ if (buf2.rthdr0.ip6r0_segleft != nseg)
{
puts ("segleft after first inet6_rth_reverse wrong");
res = 1;
}
- if (inet6_rth_segments (p) != inet6_rth_segments (buf2))
+ if (inet6_rth_segments (p) != inet6_rth_segments (buf2.buffer))
{
puts ("number of seconds after first inet6_rth_reverse differs");
res = 1;
@@ -88,7 +92,7 @@
for (int i = 0; i < nseg; ++i)
{
- struct in6_addr *addr = inet6_rth_getaddr (buf2, i);
+ struct in6_addr *addr = inet6_rth_getaddr (buf2.buffer, i);
if (addr == NULL)
{
printf ("call %d of first inet6_rth_getaddr failed\n",
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Fri Nov 30 00:04:14 2012
@@ -1,3 +1,11 @@
+2012-11-26 Nik Kalach <nikka@xxxxxxxxxxxxxxxxx>
+
+ * locales/ia_FR (abmon): Fix December.
+
+ [BZ#14879]
+ * locales/ia_FR : New file.
+ * SUPPORTED (SUPPORTED-LOCALES): Add appropriate entry.
+
2012-11-22 Andreas Jaeger <aj@xxxxxxx>
* locales/niu_NU: Fix comment.
Modified: fsf/trunk/libc/localedata/SUPPORTED
==============================================================================
--- fsf/trunk/libc/localedata/SUPPORTED (original)
+++ fsf/trunk/libc/localedata/SUPPORTED Fri Nov 30 00:04:14 2012
@@ -242,6 +242,7 @@
hu_HU/ISO-8859-2 \
hy_AM/UTF-8 \
hy_AM.ARMSCII-8/ARMSCII-8 \
+ia_FR/UTF-8 \
id_ID.UTF-8/UTF-8 \
id_ID/ISO-8859-1 \
ig_NG/UTF-8 \
Added: fsf/trunk/libc/localedata/locales/ia_FR
==============================================================================
--- fsf/trunk/libc/localedata/locales/ia_FR (added)
+++ fsf/trunk/libc/localedata/locales/ia_FR Fri Nov 30 00:04:14 2012
@@ -1,0 +1,140 @@
+comment_char %
+escape_char /
+%
+% Interlingua locale for France
+% Language: ia
+% Territory: FR
+% Revision: 1.0
+% Date: 2012-11-26
+% Application: general
+% Users: general
+% Charset: UTF-8
+
+LC_IDENTIFICATION
+title "Interlingua locale for France"
+source "Fedora Project"
+address ""
+contact "Nik Kalach"
+email "nikka@xxxxxxxxxxxxxxxxx"
+tel ""
+fax ""
+language "Interlingua"
+territory "France"
+revision "1.0"
+date "2012-11-26"
+
+category ia_FR:2000;LC_IDENTIFICATION
+category ia_FR:2000;LC_CTYPE
+category ia_FR:2000;LC_COLLATE
+category ia_FR:2000;LC_TIME
+category ia_FR:2000;LC_NUMERIC
+category ia_FR:2000;LC_MONETARY
+category ia_FR:2000;LC_MESSAGES
+category ia_FR:2000;LC_MEASUREMENT
+category ia_FR:2000;LC_PAPER
+category ia_FR:2000;LC_NAME
+category ia_FR:2000;LC_ADDRESS
+category ia_FR:2000;LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "fr_FR"
+END LC_CTYPE
+
+LC_COLLATE
+copy "fr_FR"
+END LC_COLLATE
+
+LC_TIME
+abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+ "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
+ "<U006A><U006F><U0076>";"<U0076><U0065><U006E>";/
+ "<U0073><U0061><U0062>"
+day "<U0064><U006F><U006D><U0069><U006E><U0069><U0063><U0061>";/
+ "<U006C><U0075><U006E><U0065><U0064><U0069>";/
+ "<U006D><U0061><U0072><U0074><U0065><U0064><U0069>";/
+ "<U006D><U0065><U0072><U0063><U0075><U0072><U0069><U0064><U0069>";/
+ "<U006A><U006F><U0076><U0065><U0064><U0069>";/
+ "<U0076><U0065><U006E><U0065><U0072><U0064><U0069>";/
+ "<U0073><U0061><U0062><U0062><U0061><U0074><U006F>"
+abmon "<U006A><U0061><U006E>";"<U0066><U0065><U0062>";/
+ "<U006D><U0061><U0072>";"<U0061><U0070><U0072>";/
+ "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
+ "<U006A><U0075><U006C>";"<U0061><U0075><U0067>";/
+ "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+ "<U006E><U006F><U0076>";"<U0064><U0065><U0063>"
+mon "<U006A><U0061><U006E><U0075><U0061><U0072><U0069><U006F>";/
+ "<U0066><U0065><U0062><U0072><U0075><U0061><U0072><U0069><U006F>";/
+ "<U006D><U0061><U0072><U0074><U0069><U006F>";/
+ "<U0061><U0070><U0072><U0069><U006C>";/
+ "<U006D><U0061><U0069><U006F>";/
+ "<U006A><U0075><U006E><U0069><U006F>";/
+ "<U006A><U0075><U006C><U0069><U006F>";/
+ "<U0061><U0075><U0067><U0075><U0073><U0074><U006F>";/
+ "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
+ "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
+ "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
+ "<U0064><U0065><U0063><U0065><U006D><U0062><U0072><U0065>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020>/
+<U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt "<U0025><U0054>"
+am_pm "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm ""
+date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+week 7;19971130;4
+first_workday 2
+first_weekday 2
+END LC_TIME
+
+LC_NUMERIC
+copy "fr_FR"
+END LC_NUMERIC
+
+LC_MONETARY
+copy "fr_FR"
+END LC_MONETARY
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+yesstr "<U0053><U0069>"
+nostr "<U004E><U006F>"
+END LC_MESSAGES
+
+LC_MEASUREMENT
+copy "fr_FR"
+END LC_MEASUREMENT
+
+LC_PAPER
+copy "fr_FR"
+END LC_PAPER
+
+LC_NAME
+copy "fr_FR"
+END LC_NAME
+
+LC_ADDRESS
+postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0074><U0025><U0068><U0074><U0025><U0065><U0074><U0025><U0072><U0025>/
+<U004E><U0025><U007A><U0074><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_post "<U0046>"
+country_ab2 "<U0046><U0052>"
+country_ab3 "<U0046><U0052><U0041>"
+country_num 250
+country_isbn 2
+country_car "<U0046>"
+lang_name "<U0049><U006E><U0074><U0065><U0072><U006C><U0069><U006E><U0067><U0075><U0061>"
+lang_ab "<U0069><U0061>"
+lang_term "<U0069><U006E><U0061>"
+lang_lib "<U0069><U006E><U0061>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+copy "fr_FR"
+END LC_TELEPHONE
Modified: fsf/trunk/libc/nscd/grpcache.c
==============================================================================
--- fsf/trunk/libc/nscd/grpcache.c (original)
+++ fsf/trunk/libc/nscd/grpcache.c Fri Nov 30 00:04:14 2012
@@ -177,7 +177,8 @@
char *cp;
const size_t key_len = strlen (key);
const size_t buf_len = 3 * sizeof (grp->gr_gid) + key_len + 1;
- char *buf = alloca (buf_len);
+ size_t alloca_used = 0;
+ char *buf = alloca_account (buf_len, alloca_used);
ssize_t n;
size_t cnt;
@@ -189,7 +190,7 @@
/* Determine the length of all members. */
while (grp->gr_mem[gr_mem_cnt])
++gr_mem_cnt;
- gr_mem_len = (uint32_t *) alloca (gr_mem_cnt * sizeof (uint32_t));
+ gr_mem_len = alloca_account (gr_mem_cnt * sizeof (uint32_t), alloca_used);
for (gr_mem_cnt = 0; grp->gr_mem[gr_mem_cnt]; ++gr_mem_cnt)
{
gr_mem_len[gr_mem_cnt] = strlen (grp->gr_mem[gr_mem_cnt]) + 1;
@@ -204,7 +205,8 @@
change. Allocate memory on the cache since it is likely
discarded anyway. If it turns out to be necessary to have a
new record we can still allocate real memory. */
- bool alloca_used = false;
+ bool dataset_temporary = false;
+ bool dataset_malloced = false;
dataset = NULL;
if (he == NULL)
@@ -215,10 +217,20 @@
/* We cannot permanently add the result in the moment. But
we can provide the result as is. Store the data in some
temporary memory. */
- dataset = (struct dataset *) alloca (total + n);
+ if (! __libc_use_alloca (alloca_used + total + n))
+ {
+ dataset = malloc (total + n);
+ /* Perhaps we should log a message that we were unable
+ to allocate memory for a large request. */
+ if (dataset == NULL)
+ goto out;
+ dataset_malloced = true;
+ }
+ else
+ dataset = alloca_account (total + n, alloca_used);
/* We cannot add this record to the permanent database. */
- alloca_used = true;
+ dataset_temporary = true;
}
dataset->head.allocsize = total + n;
@@ -272,6 +284,11 @@
allocated on the stack and need not be freed. */
dh->timeout = dataset->head.timeout;
++dh->nreloads;
+
+ /* If the new record was allocated via malloc, then we must free
+ it here. */
+ if (dataset_malloced)
+ free (dataset);
}
else
{
@@ -287,7 +304,7 @@
key_copy = (char *) newp + (key_copy - (char *) dataset);
dataset = memcpy (newp, dataset, total + n);
- alloca_used = false;
+ dataset_temporary = false;
}
/* Mark the old record as obsolete. */
@@ -302,7 +319,7 @@
assert (fd != -1);
#ifdef HAVE_SENDFILE
- if (__builtin_expect (db->mmap_used, 1) && !alloca_used)
+ if (__builtin_expect (db->mmap_used, 1) && ! dataset_temporary)
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
@@ -329,7 +346,7 @@
/* Add the record to the database. But only if it has not been
stored on the stack. */
- if (! alloca_used)
+ if (! dataset_temporary)
{
/* If necessary, we also propagate the data to disk. */
if (db->persistent)
Modified: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Fri Nov 30 00:04:14 2012
@@ -1,3 +1,7 @@
+2012-11-29 Steve McIntyre <steve.mcintyre@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/aarch64/dl-cache.h: New file.
+
2012-11-22 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
* sysdeps/aarch64/libm-test-ulps: Regenerate.
Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Fri Nov 30 00:04:14 2012
@@ -1,3 +1,11 @@
+2012-11-29 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/hppa/bits/socket.h: Delete file.
+ * sysdeps/unix/sysv/linux/hppa/bits/socket_type.h: New file.
+
+ * sysdeps/hppa/fpu/feholdexcpt.c: Cast return to unsigned long long *.
+ * sysdeps/unix/sysv/linux/hppa/mmap.c: Cast return to __ptr_t.
+
2012-11-19 Mike Frysinger <vapier@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/hppa/nptl/pthread_once.c: Replace _internal
@@ -50,6 +58,7 @@
2012-10-29 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+ [BZ #14447]
* sysdeps/unix/sysv/linux/hppa/sysdep.h (ENTRY): Add cfi_startproc.
Use .cfi_offset for rp store.
(ENTRY_LEAF): Likewise.
@@ -217,7 +226,7 @@
2012-03-03 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
- * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h: Name
+ * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h: Name
pthread_attr_t union.
* sysdeps/unix/sysv/linux/hppa/nptl/pthread.h: Sync from libc copy.
* sysdeps/unix/sysv/linux/hppa/bits/socket.h: Likewise.
@@ -239,12 +248,12 @@
2011-10-21 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/hppa/sys/procfs.h: Update copyright year.
- Do not include signal.h and sys/ucontext.h.
+ Do not include signal.h and sys/ucontext.h.
2011-10-20 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
- * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Update copyright
- year.
+ * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Update copyright
+ year.
(PSEUDO): Define __*_nocancel version. Add CFI directives to __*_nocancel
and normal version.
(PUSHARGS_1): Add CFI directive.
Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Fri Nov 30 00:04:14 2012
@@ -1,3 +1,7 @@
+2012-11-30 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update.
+
2012-11-23 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
* sysdeps/m68k/dl-trampoline.S (_dl_runtime_profile)
Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Fri Nov 30 00:04:14 2012
@@ -1,3 +1,20 @@
+2012-11-29 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #14893]
+ * sysdeps/mips/mips64/n32/_itoa.h: New file.
+ * sysdeps/unix/sysv/linux/mips/register-dump.h: Include
+ <sgidefs.h>.
+ (CTX_TYPE): New macro.
+ (CTX_REG): Likewise.
+ (CTX_PC): Likewise.
+ (CTX_MDHI): Likewise.
+ (CTX_MDLO): Likewise.
+ (REG_HEX_SIZE): Likewise.
+ (hexvalue): Take _ITOA_WORD_TYPE argument.
+ (register_dump): Use these macros instead of hardcoding struct
+ sigcontext * type and accesses and 8-byte textual output for
+ registers.
+
2012-11-22 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #14822]
Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Fri Nov 30 00:04:14 2012
@@ -1,3 +1,8 @@
+2012-11-29 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/s_fmaf.c: Remove redundant #defines now provided
+ in sysdeps/tile/math_private.h.
+
2012-11-20 Chris Metcalf <cmetcalf@xxxxxxxxxx>
* sysdeps/tile/libm-test-ulps: Account for new tests.
Modified: fsf/trunk/libc/ports/sysdeps/hppa/fpu/feholdexcpt.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/fpu/feholdexcpt.c (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/fpu/feholdexcpt.c Fri Nov 30 00:04:14 2012
@@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Huggins-Daines <dhd@xxxxxxxxxx>, 2000
@@ -42,7 +42,7 @@
/* Load the new environment. Note: fr0 must load last to enable T-bit
Thus we start bufptr at the end and work backwards */
- bufptr = (unsigned int)(clear.buf) + sizeof(unsigned int)*4;
+ bufptr = (unsigned long long *)((unsigned int)(clear.buf) + sizeof(unsigned int)*4);
__asm__ (
"fldd,mb -8(%0),%%fr0\n"
: : "r" (bufptr), "m" (clear) : "%r0");
Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps Fri Nov 30 00:04:14 2012
@@ -2310,6 +2310,46 @@
ifloat: 1
ildouble: 1
ldouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-100) == -4.420092432563900590456563035154802121284e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-60) == -2.6550076313426878432849115782108205929120e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-90) == -3.9788212322585974036636501709188067393195e+1":
+float: 1
+ifloat: 1
Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
ildouble: 1
ldouble: 1
@@ -2346,6 +2386,9 @@
ifloat: 2
ildouble: 1
ldouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
+float: 1
+ifloat: 1
Test "y1 (1.0) == -0.781212821300288716547150000047964821":
double: 1
idouble: 1
Added: fsf/trunk/libc/ports/sysdeps/mips/mips64/n32/_itoa.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/mips64/n32/_itoa.h (added)
+++ fsf/trunk/libc/ports/sysdeps/mips/mips64/n32/_itoa.h Fri Nov 30 00:04:14 2012
@@ -1,0 +1,4 @@
+/* MIPS n32 uses 64-bit _itoa_word and _itoa is mapped to _itoa_word. */
+#define _ITOA_NEEDED 0
+#define _ITOA_WORD_TYPE unsigned long long int
+#include_next <_itoa.h>
Modified: fsf/trunk/libc/ports/sysdeps/tile/s_fmaf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/s_fmaf.c (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/s_fmaf.c Fri Nov 30 00:04:14 2012
@@ -1,8 +1,4 @@
/* tile does not support the rounding modes required by the ieee754/dbl-64
implementation, but it's still better than the generic implementation. */
-#define libc_feholdexcept_setround(e, x) do { (void) (e); } while (0)
-#define libc_feupdateenv_test(e, x) ((void) (e), 0)
-#define libc_fetestexcept(x) 0
-
#include <sysdeps/ieee754/dbl-64/s_fmaf.c>
Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/dl-cache.h Fri Nov 30 00:04:14 2012
@@ -1,0 +1,45 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+ Copyright (C) 2003-2012 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/>. */
+
+#include <ldconfig.h>
+
+#define _DL_CACHE_DEFAULT_ID (FLAG_AARCH64_LIB64 | FLAG_ELF_LIBC6)
+
+#define _dl_cache_check_flags(flags) \
+ ((flags) == _DL_CACHE_DEFAULT_ID)
+
+#define add_system_dir(dir) \
+ do \
+ { \
+ size_t len = strlen (dir); \
+ char path[len + 3]; \
+ memcpy (path, dir, len + 1); \
+ if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6)) \
+ { \
+ len -= 2; \
+ path[len] = '\0'; \
+ } \
+ add_dir (path); \
+ if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \
+ { \
+ memcpy (path + len, "64", 3); \
+ add_dir (path); \
+ } \
+ } while (0)
+
+#include_next <dl-cache.h>
Removed: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h (removed)
@@ -1,444 +1,0 @@
-/* System-specific socket constants and types. Linux version.
- Copyright (C) 1991-2012 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/>. */
-
-#ifndef __BITS_SOCKET_H
-#define __BITS_SOCKET_H
-
-#ifndef _SYS_SOCKET_H
-# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
-#endif
-
-#define __need_size_t
-#include <stddef.h>
-
-#include <sys/types.h>
-
-/* Type for length arguments in socket calls. */
-#ifndef __socklen_t_defined
-typedef __socklen_t socklen_t;
-# define __socklen_t_defined
-#endif
-
-/* Types of sockets. */
-enum __socket_type
-{
- SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
- byte streams. */
-#define SOCK_STREAM SOCK_STREAM
- SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
- of fixed maximum length. */
-#define SOCK_DGRAM SOCK_DGRAM
- SOCK_RAW = 3, /* Raw protocol interface. */
-#define SOCK_RAW SOCK_RAW
- SOCK_RDM = 4, /* Reliably-delivered messages. */
-#define SOCK_RDM SOCK_RDM
- SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
- datagrams of fixed maximum length. */
-#define SOCK_SEQPACKET SOCK_SEQPACKET
- SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */
-#define SOCK_DCCP SOCK_DCCP
- SOCK_PACKET = 10, /* Linux specific way of getting packets
- at the dev level. For writing rarp and
- other similar things on the user level. */
-#define SOCK_PACKET SOCK_PACKET
-
- /* Flags to be ORed into the type parameter of socket and socketpair and
- used for the flags parameter of paccept. */
-
- SOCK_CLOEXEC = 010000000, /* Atomically set close-on-exec flag for the
- new descriptor(s). */
-#define SOCK_CLOEXEC SOCK_CLOEXEC
- SOCK_NONBLOCK = 0x40000000 /* Atomically mark descriptor(s) as
- non-blocking. */
-#define SOCK_NONBLOCK SOCK_NONBLOCK
-};
-
-/* Protocol families. */
-#define PF_UNSPEC 0 /* Unspecified. */
-#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */
-#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */
-#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */
-#define PF_INET 2 /* IP protocol family. */
-#define PF_AX25 3 /* Amateur Radio AX.25. */
-#define PF_IPX 4 /* Novell Internet Protocol. */
-#define PF_APPLETALK 5 /* Appletalk DDP. */
-#define PF_NETROM 6 /* Amateur radio NetROM. */
-#define PF_BRIDGE 7 /* Multiprotocol bridge. */
-#define PF_ATMPVC 8 /* ATM PVCs. */
-#define PF_X25 9 /* Reserved for X.25 project. */
-#define PF_INET6 10 /* IP version 6. */
-#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */
-#define PF_DECnet 12 /* Reserved for DECnet project. */
-#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */
-#define PF_SECURITY 14 /* Security callback pseudo AF. */
-#define PF_KEY 15 /* PF_KEY key management API. */
-#define PF_NETLINK 16
-#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */
-#define PF_PACKET 17 /* Packet family. */
-#define PF_ASH 18 /* Ash. */
-#define PF_ECONET 19 /* Acorn Econet. */
-#define PF_ATMSVC 20 /* ATM SVCs. */
-#define PF_RDS 21 /* RDS sockets. */
-#define PF_SNA 22 /* Linux SNA Project */
-#define PF_IRDA 23 /* IRDA sockets. */
-#define PF_PPPOX 24 /* PPPoX sockets. */
-#define PF_WANPIPE 25 /* Wanpipe API sockets. */
-#define PF_LLC 26 /* Linux LLC. */
-#define PF_CAN 29 /* Controller Area Network. */
-#define PF_TIPC 30 /* TIPC sockets. */
-#define PF_BLUETOOTH 31 /* Bluetooth sockets. */
-#define PF_IUCV 32 /* IUCV sockets. */
-#define PF_RXRPC 33 /* RxRPC sockets. */
-#define PF_ISDN 34 /* mISDN sockets. */
-#define PF_PHONET 35 /* Phonet sockets. */
-#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */
-#define PF_CAIF 37 /* CAIF sockets. */
-#define PF_ALG 38 /* Algorithm sockets. */
-#define PF_NFC 39 /* NFC sockets. */
-#define PF_MAX 40 /* For now.. */
-
-/* Address families. */
-#define AF_UNSPEC PF_UNSPEC
-#define AF_LOCAL PF_LOCAL
-#define AF_UNIX PF_UNIX
-#define AF_FILE PF_FILE
-#define AF_INET PF_INET
-#define AF_AX25 PF_AX25
-#define AF_IPX PF_IPX
-#define AF_APPLETALK PF_APPLETALK
-#define AF_NETROM PF_NETROM
-#define AF_BRIDGE PF_BRIDGE
-#define AF_ATMPVC PF_ATMPVC
-#define AF_X25 PF_X25
-#define AF_INET6 PF_INET6
-#define AF_ROSE PF_ROSE
-#define AF_DECnet PF_DECnet
-#define AF_NETBEUI PF_NETBEUI
-#define AF_SECURITY PF_SECURITY
-#define AF_KEY PF_KEY
-#define AF_NETLINK PF_NETLINK
-#define AF_ROUTE PF_ROUTE
-#define AF_PACKET PF_PACKET
-#define AF_ASH PF_ASH
-#define AF_ECONET PF_ECONET
-#define AF_ATMSVC PF_ATMSVC
-#define AF_RDS PF_RDS
-#define AF_SNA PF_SNA
-#define AF_IRDA PF_IRDA
-#define AF_PPPOX PF_PPPOX
-#define AF_WANPIPE PF_WANPIPE
-#define AF_LLC PF_LLC
-#define AF_CAN PF_CAN
-#define AF_TIPC PF_TIPC
-#define AF_BLUETOOTH PF_BLUETOOTH
-#define AF_IUCV PF_IUCV
-#define AF_RXRPC PF_RXRPC
-#define AF_ISDN PF_ISDN
-#define AF_PHONET PF_PHONET
-#define AF_IEEE802154 PF_IEEE802154
-#define AF_CAIF PF_CAIF
-#define AF_ALG PF_ALG
-#define AF_NFC PF_NFC
-#define AF_MAX PF_MAX
-
-/* Socket level values. Others are defined in the appropriate headers.
-
- XXX These definitions also should go into the appropriate headers as
- far as they are available. */
-#define SOL_RAW 255
-#define SOL_DECNET 261
-#define SOL_X25 262
-#define SOL_PACKET 263
-#define SOL_ATM 264 /* ATM layer (cell level). */
-#define SOL_AAL 265 /* ATM Adaption Layer (packet level). */
-#define SOL_IRDA 266
-
-/* Maximum queue length specifiable by listen. */
-#define SOMAXCONN 128
-
-/* Get the definition of the macro to define the common sockaddr members. */
-#include <bits/sockaddr.h>
-
-/* Structure describing a generic socket address. */
-struct sockaddr
- {
- __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */
- char sa_data[14]; /* Address data. */
- };
-
-
-/* Structure large enough to hold any socket address (with the historical
- exception of AF_UNIX). We reserve 128 bytes. */
-#define __ss_aligntype unsigned long int
-#define _SS_SIZE 128
-#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype)))
-
-struct sockaddr_storage
- {
- __SOCKADDR_COMMON (ss_); /* Address family, etc. */
- __ss_aligntype __ss_align; /* Force desired alignment. */
- char __ss_padding[_SS_PADSIZE];
- };
-
-
-/* Bits in the FLAGS argument to `send', `recv', et al. */
-enum
- {
- MSG_OOB = 0x01, /* Process out-of-band data. */
-#define MSG_OOB MSG_OOB
- MSG_PEEK = 0x02, /* Peek at incoming messages. */
-#define MSG_PEEK MSG_PEEK
- MSG_DONTROUTE = 0x04, /* Don't use local routing. */
-#define MSG_DONTROUTE MSG_DONTROUTE
-#ifdef __USE_GNU
- /* DECnet uses a different name. */
- MSG_TRYHARD = MSG_DONTROUTE,
-# define MSG_TRYHARD MSG_DONTROUTE
-#endif
- MSG_CTRUNC = 0x08, /* Control data lost before delivery. */
-#define MSG_CTRUNC MSG_CTRUNC
- MSG_PROXY = 0x10, /* Supply or ask second address. */
-#define MSG_PROXY MSG_PROXY
- MSG_TRUNC = 0x20,
-#define MSG_TRUNC MSG_TRUNC
- MSG_DONTWAIT = 0x40, /* Nonblocking IO. */
-#define MSG_DONTWAIT MSG_DONTWAIT
- MSG_EOR = 0x80, /* End of record. */
-#define MSG_EOR MSG_EOR
- MSG_WAITALL = 0x100, /* Wait for a full request. */
-#define MSG_WAITALL MSG_WAITALL
- MSG_FIN = 0x200,
-#define MSG_FIN MSG_FIN
- MSG_SYN = 0x400,
-#define MSG_SYN MSG_SYN
- MSG_CONFIRM = 0x800, /* Confirm path validity. */
-#define MSG_CONFIRM MSG_CONFIRM
- MSG_RST = 0x1000,
-#define MSG_RST MSG_RST
- MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */
-#define MSG_ERRQUEUE MSG_ERRQUEUE
- MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */
-#define MSG_NOSIGNAL MSG_NOSIGNAL
- MSG_MORE = 0x8000, /* Sender will send more. */
-#define MSG_MORE MSG_MORE
- MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
-#define MSG_WAITFORONE MSG_WAITFORONE
-
- MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
- descriptor received through
- SCM_RIGHTS. */
-#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
- };
-
-
-/* Structure describing messages sent by
- `sendmsg' and received by `recvmsg'. */
-struct msghdr
- {
- void *msg_name; /* Address to send to/receive from. */
- socklen_t msg_namelen; /* Length of address data. */
-
- struct iovec *msg_iov; /* Vector of data to send/receive into. */
- size_t msg_iovlen; /* Number of elements in the vector. */
-
- void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
- size_t msg_controllen; /* Ancillary data buffer length.
- !! The type should be socklen_t but the
- definition of the kernel is incompatible
- with this. */
-
- int msg_flags; /* Flags on received message. */
- };
-
-#ifdef __USE_GNU
-/* For `recvmmsg'. */
-struct mmsghdr
- {
- struct msghdr msg_hdr; /* Actual message header. */
- unsigned int msg_len; /* Number of received bytes for the entry. */
- };
-#endif
-
-/* Structure used for storage of ancillary data object information. */
-struct cmsghdr
- {
- size_t cmsg_len; /* Length of data in cmsg_data plus length
- of cmsghdr structure.
- !! The type should be socklen_t but the
- definition of the kernel is incompatible
- with this. */
- int cmsg_level; /* Originating protocol. */
- int cmsg_type; /* Protocol specific type. */
-#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
- __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */
-#endif
- };
-
-/* Ancillary data object manipulation macros. */
-#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
-# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
-#else
-# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
-#endif
-#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
-#define CMSG_FIRSTHDR(mhdr) \
- ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
- ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
-#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
- & (size_t) ~(sizeof (size_t) - 1))
-#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
- + CMSG_ALIGN (sizeof (struct cmsghdr)))
-#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
-
-extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
- struct cmsghdr *__cmsg) __THROW;
-#ifdef __USE_EXTERN_INLINES
-# ifndef _EXTERN_INLINE
-# define _EXTERN_INLINE __extern_inline
-# endif
-_EXTERN_INLINE struct cmsghdr *
-__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
-{
- if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
- /* The kernel header does this so there may be a reason. */
- return (struct cmsghdr *) 0;
-
- __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
- + CMSG_ALIGN (__cmsg->cmsg_len));
- if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
- + __mhdr->msg_controllen)
- || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
- > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
- /* No more entries. */
- return (struct cmsghdr *) 0;
- return __cmsg;
-}
-#endif /* Use `extern inline'. */
-
-/* Socket level message types. This must match the definitions in
- <linux/socket.h>. */
-enum
- {
- SCM_RIGHTS = 0x01 /* Transfer file descriptors. */
-#define SCM_RIGHTS SCM_RIGHTS
-#ifdef __USE_GNU
- , SCM_CREDENTIALS = 0x02 /* Credentials passing. */
-# define SCM_CREDENTIALS SCM_CREDENTIALS
-#endif
- };
-
-#ifdef __USE_GNU
-/* User visible structure for SCM_CREDENTIALS message */
-struct ucred
-{
- pid_t pid; /* PID of sending process. */
- uid_t uid; /* UID of sending process. */
- gid_t gid; /* GID of sending process. */
-};
-#endif
-
-/* Ugly workaround for unclean kernel headers. */
-#if !defined __USE_MISC && !defined __USE_GNU
-# ifndef FIOGETOWN
-# define __SYS_SOCKET_H_undef_FIOGETOWN
-# endif
-# ifndef FIOSETOWN
-# define __SYS_SOCKET_H_undef_FIOSETOWN
-# endif
-# ifndef SIOCATMARK
-# define __SYS_SOCKET_H_undef_SIOCATMARK
-# endif
-# ifndef SIOCGPGRP
-# define __SYS_SOCKET_H_undef_SIOCGPGRP
-# endif
-# ifndef SIOCGSTAMP
-# define __SYS_SOCKET_H_undef_SIOCGSTAMP
-# endif
-# ifndef SIOCGSTAMPNS
-# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# endif
-# ifndef SIOCSPGRP
-# define __SYS_SOCKET_H_undef_SIOCSPGRP
-# endif
-#endif
-
-/* Get socket manipulation related informations from kernel headers. */
-#include <asm/socket.h>
-
-#if !defined __USE_MISC && !defined __USE_GNU
-# ifdef __SYS_SOCKET_H_undef_FIOGETOWN
-# undef __SYS_SOCKET_H_undef_FIOGETOWN
-# undef FIOGETOWN
-# endif
-# ifdef __SYS_SOCKET_H_undef_FIOSETOWN
-# undef __SYS_SOCKET_H_undef_FIOSETOWN
-# undef FIOSETOWN
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCATMARK
-# undef __SYS_SOCKET_H_undef_SIOCATMARK
-# undef SIOCATMARK
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP
-# undef __SYS_SOCKET_H_undef_SIOCGPGRP
-# undef SIOCGPGRP
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP
-# undef __SYS_SOCKET_H_undef_SIOCGSTAMP
-# undef SIOCGSTAMP
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# undef SIOCGSTAMPNS
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP
-# undef __SYS_SOCKET_H_undef_SIOCSPGRP
-# undef SIOCSPGRP
-# endif
-#endif
-
-/* Structure used to manipulate the SO_LINGER option. */
-struct linger
- {
- int l_onoff; /* Nonzero to linger on close. */
- int l_linger; /* Time to linger. */
- };
-
-
-__BEGIN_DECLS
-
-#ifdef __USE_GNU
-/* Receive up to VLEN messages as described by VMESSAGES from socket FD.
- Returns the number of bytes read or -1 for errors.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
- unsigned int __vlen, int __flags,
- const struct timespec *__tmo);
-
-/* Send a VLEN messages as described by VMESSAGES to socket FD.
- Return the number of datagrams successfully written or -1 for errors.
-This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
- unsigned int __vlen, int __flags);
-#endif
-
-__END_DECLS
-
-#endif /* bits/socket.h */
Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/socket_type.h Fri Nov 30 00:04:14 2012
@@ -1,0 +1,55 @@
+/* Define enum __socket_type for Linux/HP-PARISC.
+ Copyright (C) 2012 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/>. */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
+#endif
+
+/* Types of sockets. */
+enum __socket_type
+{
+ SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
+ byte streams. */
+#define SOCK_STREAM SOCK_STREAM
+ SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
+ of fixed maximum length. */
+#define SOCK_DGRAM SOCK_DGRAM
+ SOCK_RAW = 3, /* Raw protocol interface. */
+#define SOCK_RAW SOCK_RAW
+ SOCK_RDM = 4, /* Reliably-delivered messages. */
+#define SOCK_RDM SOCK_RDM
+ SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
+ datagrams of fixed maximum length. */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+ SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */
+#define SOCK_DCCP SOCK_DCCP
+ SOCK_PACKET = 10, /* Linux specific way of getting packets
+ at the dev level. For writing rarp and
+ other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+
+ /* Flags to be ORed into the type parameter of socket and socketpair and
+ used for the flags parameter of paccept. */
+
+ SOCK_CLOEXEC = 010000000, /* Atomically set close-on-exec flag for the
+ new descriptor(s). */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+ SOCK_NONBLOCK = 0x40000000 /* Atomically mark descriptor(s) as
+ non-blocking. */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
+};
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/mmap.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/mmap.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/mmap.c Fri Nov 30 00:04:14 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2012 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
@@ -36,7 +36,7 @@
__ptr_t ret;
- ret = INLINE_SYSCALL(mmap, 6, addr, len, prot, flags, fd, offset);
+ ret = (__ptr_t) INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, offset);
/* check if it's really a negative number */
if(((unsigned long)ret & 0xfffff000) == 0xfffff000)
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/register-dump.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/register-dump.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/register-dump.h Fri Nov 30 00:04:14 2012
@@ -17,8 +17,25 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+#include <sgidefs.h>
#include <sys/uio.h>
#include <_itoa.h>
+
+#if _MIPS_SIM == _ABIO32
+# define CTX_TYPE struct sigcontext *
+# define CTX_REG(ctx, i) ((ctx)->sc_regs[(i)])
+# define CTX_PC(ctx) ((ctx)->sc_pc)
+# define CTX_MDHI(ctx) ((ctx)->sc_mdhi)
+# define CTX_MDLO(ctx) ((ctx)->sc_mdlo)
+# define REG_HEX_SIZE 8
+#else
+# define CTX_TYPE ucontext_t *
+# define CTX_REG(ctx, i) ((ctx)->uc_mcontext.gregs[(i)])
+# define CTX_PC(ctx) ((ctx)->uc_mcontext.pc)
+# define CTX_MDHI(ctx) ((ctx)->uc_mcontext.mdhi)
+# define CTX_MDLO(ctx) ((ctx)->uc_mcontext.mdhi)
+# define REG_HEX_SIZE 16
+#endif
/* We will print the register dump in this format:
@@ -32,7 +49,7 @@
*/
static void
-hexvalue (unsigned long int value, char *buf, size_t len)
+hexvalue (_ITOA_WORD_TYPE value, char *buf, size_t len)
{
char *cp = _itoa_word (value, buf + len, 16, 0);
while (cp > buf)
@@ -40,9 +57,9 @@
}
static void
-register_dump (int fd, struct sigcontext *ctx)
+register_dump (int fd, CTX_TYPE ctx)
{
- char regs[38][8];
+ char regs[38][REG_HEX_SIZE];
struct iovec iov[38 * 2 + 10];
size_t nr = 0;
int i;
@@ -58,40 +75,40 @@
/* Generate strings of register contents. */
for (i = 0; i < 32; i++)
- hexvalue (ctx->sc_regs[i], regs[i], 8);
- hexvalue (ctx->sc_pc, regs[32], 8);
- hexvalue (ctx->sc_mdhi, regs[33], 8);
- hexvalue (ctx->sc_mdlo, regs[34], 8);
+ hexvalue (CTX_REG (ctx, i), regs[i], REG_HEX_SIZE);
+ hexvalue (CTX_PC (ctx), regs[32], REG_HEX_SIZE);
+ hexvalue (CTX_MDHI (ctx), regs[33], REG_HEX_SIZE);
+ hexvalue (CTX_MDLO (ctx), regs[34], REG_HEX_SIZE);
/* Generate the output. */
ADD_STRING ("Register dump:\n\n R0 ");
for (i = 0; i < 8; i++)
{
- ADD_MEM (regs[i], 8);
+ ADD_MEM (regs[i], REG_HEX_SIZE);
ADD_STRING (" ");
}
ADD_STRING ("\n R8 ");
for (i = 8; i < 16; i++)
{
- ADD_MEM (regs[i], 8);
+ ADD_MEM (regs[i], REG_HEX_SIZE);
ADD_STRING (" ");
}
ADD_STRING ("\n R16 ");
for (i = 16; i < 24; i++)
{
- ADD_MEM (regs[i], 8);
+ ADD_MEM (regs[i], REG_HEX_SIZE);
ADD_STRING (" ");
}
ADD_STRING ("\n R24 ");
for (i = 24; i < 32; i++)
{
- ADD_MEM (regs[i], 8);
+ ADD_MEM (regs[i], REG_HEX_SIZE);
ADD_STRING (" ");
}
ADD_STRING ("\n pc lo hi\n ");
for (i = 32; i < 35; i++)
{
- ADD_MEM (regs[i], 8);
+ ADD_MEM (regs[i], REG_HEX_SIZE);
ADD_STRING (" ");
}
ADD_STRING ("\n");
Modified: fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps Fri Nov 30 00:04:14 2012
@@ -2546,15 +2546,38 @@
ldouble: 1
# pow
+Test "pow (0x0.fffffffffffff8p0, -0x1.23456789abcdfp62) == 9.8826311568054561811190162420900667121992e+252":
+ildouble: 1
+ldouble: 1
Test "pow (0x0.ffffffp0, -0x1p24) == 2.7182819094701610539628664526874952929416":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
Test "pow (0x0.ffffffp0, 0x1p24) == 0.3678794302077803437135155590023422899744":
float: 1
ifloat: 1
Test "pow (0x1.000002p0, 0x1p24) == 7.3890552180866447284268641248075832310141":
float: 1
ifloat: 1
+Test "pow (10.0, -4930.0) == 1e-4930":
+ildouble: 1
+ldouble: 1
+Test "pow (10.0, 4929.0) == 1e4929":
+ildouble: 1
+ldouble: 1
+Test "pow (10.0, 4930.0) == 1e4930":
+ildouble: 1
+ldouble: 1
+Test "pow (10.0, 4931.0) == 1e4931":
+ildouble: 1
+ldouble: 1
+Test "pow (10.0, 4932.0) == 1e4932":
+ildouble: 1
+ldouble: 1
+Test "pow (1e4932, 0.75) == 1e3699":
+ildouble: 1
+ldouble: 1
# pow_downward
Test "pow_downward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
@@ -3643,6 +3666,8 @@
Function: "pow":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
Function: "pow_downward":
float: 1
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits