GIT update of git://sourceware.org/git/glibc.git/release/2.24/master from glibc-2.24
Gbp-Pq: Name git-updates.diff
+2016-09-02 Roland McGrath <roland@hack.frob.com>
+
+ * sysdeps/arm/nacl/libc.abilist: Add GLIBC_2.24 A.
+
+ * sysdeps/nacl/dup.c: Add libc_hidden_def.
+
+2016-09-02 Roland McGrath <roland@hack.frob.com>
+
+ * sysdeps/posix/wait3.c: Don't treat STAT_LOC as a union, since it's
+ not any more.
+
+2016-09-02 Roland McGrath <roland@hack.frob.com>
+
+ * sysdeps/nacl/clock.c (clock): nacl_abi_clock_t -> nacl_irt_clock_t
+
+2016-08-17 Florian Weimer <fweimer@redhat.com>
+
+ Reduce time to expected nptl/tst-once5 failure.
+ * nptl/tst-once5.cc (TIMEOUT): Define.
+
+2016-08-18 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #16907]
+ * argp/argp.h: Switch to __BEGIN_DECLS and __END_DECLS.
+ (__THROW, __NTH, __attribute__, __restrict): Remove definitions.
+ * argp/argp-fmtstream.h: Add __BEGIN_DECLS and __END_DECLS.
+ (__attribute__): Remove definition.
+
+2016-08-15 Andreas Schwab <schwab@suse.de>
+
+ [BZ #20435]
+ * sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Mark
+ as .cantunwind.
+
+2016-08-17 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #20452]
+ Avoid additional copies of objects in libc.a in static libraries.
+ * sysdeps/ia64/nptl/Makefile (libpthread-shared-only-routines):
+ Add ptw-sysdep, ptw-sigblock, ptw-sigprocmask.
+ * sysdeps/mips/Makefile (librt-shared-only-routines): Add
+ rt-sysdep.
+ * sysdeps/mips/nptl/Makefile (libpthread-shared-only-routines):
+ Add nptl-sysdep.
+ * sysdeps/s390/nptl/Makefile (libpthread-shared-only-routines):
+ Add ptw-sysdep.
+ * sysdeps/unix/alpha/Makefile (librt-shared-only-routines): Add
+ rt-sysdep.
+ * sysdeps/unix/sysv/linux/alpha/Makefile
+ (libpthread-shared-only-routines): Add ptw-sysdep,
+ ptw-sigprocmask, ptw-rt_sigaction.
+ * sysdeps/unix/sysv/linux/ia64/Makefile
+ (librt-shared-only-routines): Add rt-sysdep.
+ * sysdeps/unix/sysv/linux/i386/Makefile
+ (libpthread-shared-only-routines): Add libc-do-syscall.
+ * sysdeps/unix/sysv/linux/microblaze/Makefile
+ (libpthread-shared-only-routines): Add sysdep.
+ * sysdeps/unix/sysv/linux/powerpc/Makefile
+ (librt-shared-only-routines): Add rt-sysdep.
+ (libpthread-shared-only-routines): Add sysdep.
+ * sysdeps/unix/sysv/linux/s390/Makefile
+ (librt-shared-only-routines): Add rt-sysdep.
+ * sysdeps/unix/sysv/linux/sparc/Makefile
+ (librt-shared-only-routines): Add rt-sysdep.
+ (libpthread-shared-only-routines): Add sysdep.
+ * sysdeps/unix/sysv/linux/tile/Makefile
+ (libpthread-shared-only-routines): Likewise.
+
+2016-08-05 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
+ [$(subdir) = math && $(have-as-vis3) = yes] (libm-sysdep_routines):
+ Remove s_fdimf-vis3, s_fdim-vis3.
+ * sysdeps/sparc/sparc32/fpu/s_fdim.S: Delete file.
+ * sysdeps/sparc/sparc32/fpu/s_fdimf.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S: Likewise.
+ * sysdeps/sparc/sparc64/fpu/s_fdim.S: Likewise.
+ * sysdeps/sparc/sparc64/fpu/s_fdimf.S: Likewise.
+
+2016-08-02 David S. Miller <davem@davemloft.net>
+
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
+ (__nearbyint_vis3): Don't check for sNaN before float register is
+ loaded with the incoming argument.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
+ (__nearbyintf_vis3): Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S (__nearbyint):
+ Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S (__nearbyintf):
+ Likewise.
+
+2016-08-03 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Replace beqlr instructions
+ by beq instructions jumping to the end of the function.
+ * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Add "11", "12", "cr0" to the
+ clobber list. Use "i" constraint instead of "X".
+ (ifunc_one): Add "12" to the clobber list. Use "i" constraint instead
+ of "X".
+
+2016-08-04 Carlos O'Donell <carlos@redhat.com>
+
+ * po/de.po: Update from Translation Project.
+ * po/fi.po: Likewise.
+ * po/sv.po: Likewise.
+
+2016-08-02 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #20370]
+ * malloc/arena.c (get_free_list): Update comment. Assert that
+ arenas on the free list have no attached threads.
+ (remove_from_free_list): New function.
+ (reused_arena): Call it.
+
+2016-08-04 Florian Weimer <fweimer@redhat.com>
+
+ Use sysdep.o from libc.a in static libraries.
+ * sysdeps/unix/sysv/linux/i386/Makefile
+ (libpthread-shared-only-routines): Add sysdep.
+ (librt-shared-only-routines): Likewise.
+
2016-08-01 Carlos O'Donell <carlos@redhat.com>
* version.h (RELEASE): Set to "stable"
Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
using `glibc' in the "product" field.
+\f
+Version 2.24.1
+
+Security related changes:
+
+* On ARM EABI (32-bit), generating a backtrace for execution contexts which
+ have been created with makecontext could fail to terminate due to a
+ missing .cantunwind annotation. This has been observed to lead to a hang
+ (denial of service) in some Go applications compiled with gccgo. Reported
+ by Andreas Schwab. (CVE-2016-6323)
+
\f
Version 2.24
#include <string.h>
#include <unistd.h>
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || \
- defined __STRICT_ANSI__
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || \
- defined __STRICT_ANSI__
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
#if defined (__GNU_LIBRARY__) && defined (HAVE_LINEWRAP_H)
/* line_wrap_stream is available, so use that. */
#define ARGP_FMTSTREAM_USE_LINEWRAP
typedef struct argp_fmtstream *argp_fmtstream_t;
+__BEGIN_DECLS
+
/* Return an argp_fmtstream that outputs to STREAM, and which prefixes lines
written on it with LMARGIN spaces and limits them to RMARGIN columns
total. If WMARGIN >= 0, words that extend past RMARGIN are wrapped by
#endif /* __OPTIMIZE__ */
+__END_DECLS
+
#endif /* ARGP_FMTSTREAM_USE_LINEWRAP */
#endif /* argp-fmtstream.h */
#define __need_error_t
#include <errno.h>
-#ifndef __THROW
-# define __THROW
-#endif
-#ifndef __NTH
-# define __NTH(fct) fct __THROW
-#endif
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || \
- defined __STRICT_ANSI__
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || \
- defined __STRICT_ANSI__
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
- "restrict", and "configure" may have defined "restrict". */
-#ifndef __restrict
-# if ! (2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__))
-# if defined restrict || 199901L <= __STDC_VERSION__
-# define __restrict restrict
-# else
-# define __restrict
-# endif
-# endif
-#endif
-
#ifndef __error_t_defined
typedef int error_t;
# define __error_t_defined
#endif
\f
-#ifdef __cplusplus
-extern "C" {
-#endif
+__BEGIN_DECLS
/* A description of a particular option. A pointer to an array of
these is passed in the OPTIONS field of an argp structure. Each option
# endif
#endif /* Use extern inlines. */
-#ifdef __cplusplus
-}
-#endif
+__END_DECLS
#endif /* argp.h */
}
-/* Remove an arena from free_list. The arena may be in use because it
- was attached concurrently to a thread by reused_arena below. */
+/* Remove an arena from free_list. */
static mstate
get_free_list (void)
{
free_list = result->next_free;
/* The arena will be attached to this thread. */
- ++result->attached_threads;
+ assert (result->attached_threads == 0);
+ result->attached_threads = 1;
detach_arena (replaced_arena);
}
return result;
}
+/* Remove the arena from the free list (if it is present).
+ free_list_lock must have been acquired by the caller. */
+static void
+remove_from_free_list (mstate arena)
+{
+ mstate *previous = &free_list;
+ for (mstate p = free_list; p != NULL; p = p->next_free)
+ {
+ assert (p->attached_threads == 0);
+ if (p == arena)
+ {
+ /* Remove the requested arena from the list. */
+ *previous = p->next_free;
+ break;
+ }
+ else
+ previous = &p->next_free;
+ }
+}
+
/* Lock and return an arena that can be reused for memory allocation.
Avoid AVOID_ARENA as we have already failed to allocate memory in
it and it is currently locked. */
(void) mutex_lock (&result->mutex);
out:
- /* Attach the arena to the current thread. Note that we may have
- selected an arena which was on free_list. */
+ /* Attach the arena to the current thread. */
{
/* Update the arena thread attachment counters. */
mstate replaced_arena = thread_arena;
(void) mutex_lock (&free_list_lock);
detach_arena (replaced_arena);
+
+ /* We may have picked up an arena on the free list. We need to
+ preserve the invariant that no arena on the free list has a
+ positive attached_threads counter (otherwise,
+ arena_thread_freeres cannot use the counter to determine if the
+ arena needs to be put on the free list). We unconditionally
+ remove the selected arena from the free list. The caller of
+ reused_arena checked the free list and observed it to be empty,
+ so the list is very short. */
+ remove_from_free_list (result);
+
++result->attached_threads;
+
(void) mutex_unlock (&free_list_lock);
}
return result;
}
+// The test currently hangs and is XFAILed. Reduce the timeout.
+#define TIMEOUT 1
#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"
msgstr ""
"Project-Id-Version: GNU libc 2.22-pre1\n"
"POT-Creation-Date: 2015-07-31 00:10-0400\n"
-"PO-Revision-Date: 2015-08-31 18:30+0200\n"
+"PO-Revision-Date: 2016-04-22 18:44+0200\n"
"Last-Translator: Jochen Hein <jochen@jochen.org>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"%15s Cache ist dauerhaft\n"
"%15s Cache wird gemeinsam verwendet\n"
"%15Zu vorgeschlagene Größe\n"
-"%15Zu Gesamtröße des Data-Pools\n"
+"%15Zu Gesamtgröße des Data-Pools\n"
"%15Zu Benutzter Speicher im Data-Pool\n"
"%15lu Time to Live für positive Einträge in Sekunden\n"
"%15lu Time to Live für negative Einträge in Sekunden\n"
"%15<PRIuMAX> Cache-Hits bei positiven Einträgen\n"
"%15<PRIuMAX> Cache-Hits bei positiven Einträgen\n"
-"%15<PRIuMAX> Cache-Misses bei positiven EintrÃ\83¤gen\n"
+"%15<PRIuMAX> Cache-Misses bei positiven Einträgen\n"
"%15<PRIuMAX> Cache-Misses bei negativen Einträgen\n"
"%15lu%% Cache-Hit Verhältnis\n"
"%15zu aktuelle Anzahl der Werte im Cache\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: libc 2.21-pre1\n"
+"Project-Id-Version: libc 2.22-pre1\n"
"POT-Creation-Date: 2015-07-31 00:10-0400\n"
-"PO-Revision-Date: 2015-07-28 20:29+0300\n"
+"PO-Revision-Date: 2016-05-26 21:14+0300\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.3\n"
+"X-Generator: Poedit 1.8.7\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: argp/argp-help.c:227
msgstr "%s%s%s:%u: %s%sOdottamaton virhe: %s.\n"
#: assert/assert.c:101
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s%s%s:%u: %s%sAssertion `%s' failed.\n"
"%n"
#: malloc/memusagestat.c:563 nss/getent.c:973 nss/makedb.c:369
#: posix/getconf.c:486 sunrpc/rpcinfo.c:691
#: sysdeps/unix/sysv/linux/lddlibc4.c:61
-#, fuzzy, c-format
+#, c-format
msgid ""
"For bug reporting instructions, please see:\n"
"%s.\n"
msgstr ""
-"Ohjeet ohjelmistovioista ilmoittamiseen ovat osoitteessa\n"
+"Katso ohjeet vikailmoitusten tekemiseen osoitteesta:\n"
"%s.\n"
#: catgets/gencat.c:245 debug/pcprofiledump.c:225 debug/xtrace.sh:64
#: debug/xtrace.sh:32 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: malloc/memusage.sh:26
-#, fuzzy
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
-msgstr "Kokeile ”%s --help” tai ”%s --usage” saadaksesi lisää tietoa.\n"
+msgstr "Kokeile ”%s --help” tai ”%s --usage” saadaksesi lisää tietoa.\\n"
#: debug/xtrace.sh:38
#, fuzzy
msgstr "jaettua objektikahvaa ei voi luoda"
#: elf/dl-load.c:1339
-#, fuzzy
msgid "cannot close file descriptor"
-msgstr "tiedostoa %s ei voi sulkea"
+msgstr "tiedostokahvaa ei voi sulkea"
#: elf/dl-load.c:1568
msgid "file too short"
msgstr "Käytettävä muoto: ”new”, ”old” tai ”compat” (oletus)"
#: elf/ldconfig.c:151
-#, fuzzy
msgid "Ignore auxiliary cache file"
-msgstr "Käytä CACHEa välimuistitiedostona"
+msgstr "Jätä huomiotta apuvälimuistitiedosto"
#: elf/ldconfig.c:159
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "virheellinen prosessi-ID ”%s”"
#: elf/pldd.c:120
-#, fuzzy, c-format
+#, c-format
msgid "cannot open %s"
-msgstr "laitetta %s ei voi avata"
+msgstr "tiedostoa %s ei voi avata"
#: elf/pldd.c:152
#, fuzzy, c-format
msgstr "ei voi avata laitetta %s lukutilaan"
#: elf/pldd.c:168
-#, fuzzy, c-format
+#, c-format
msgid "invalid thread ID '%s'"
-msgstr "virheellinen prosessi-ID ”%s”"
+msgstr "virheellinen säie-ID ”%s”"
#: elf/pldd.c:179
-#, fuzzy, c-format
+#, c-format
msgid "cannot attach to process %lu"
-msgstr "tiedostoa ”%s” ei voi avata"
+msgstr "ei voida kiinnittyä prosessiin %lu"
#: elf/pldd.c:294
#, c-format
msgid "cannot get information about process %lu"
-msgstr ""
+msgstr "tietojen saaminen prosessista %lu ei onnistu"
#: elf/pldd.c:307
-#, fuzzy, c-format
+#, c-format
msgid "process %lu is no ELF program"
-msgstr "ohjelma %lu ei ole käytettävissä\n"
+msgstr "prosessi %lu ei ole ELF-ohjelma"
#: elf/readelflib.c:34
#, c-format
#: elf/sln.c:184
#, c-format
msgid "%s: failed to remove the old destination\n"
-msgstr ""
+msgstr "%s: vanhan kohteen poistaminen epäonnistui\n"
#: elf/sln.c:192
#, c-format
msgstr "Pakolliset argumentit pitkille valitsimille ovat pakollisia kaikille vastaaville lyhyille valitsimille.\\n"
#: elf/sotruss.sh:55
-#, fuzzy
msgid "%s: option requires an argument -- '%s'\\n"
-msgstr "%s: valitsin ”%s” vaatii argumentin\n"
+msgstr "%s: valitsin vaatii argumentin -- ”%c”\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "tuntematon iconv()-virhe %d"
#: iconv/iconv_prog.c:791
-#, fuzzy
msgid ""
"The following list contains all the coded character sets known. This does\n"
"not necessarily mean that all combinations of these names can be used for\n"
"\n"
" "
msgstr ""
-"Seuraavassa listassa ovat kaikki tunnetut koodatut merkistöt. Se ei\n"
+"Seuraavassa listassa ovat kaikki tunnetut koodatut merkistöt. Tämä ei\n"
"kuitenkaan välttämättä tarkoita sitä, että kaikkia näiden nimien\n"
-"yhdistelmiä voidaan käyttää FROM- ja TO-komentoriviparametreina. Yksi\n"
+"yhdistelmiä voisi käyttää FROM- ja TO-komentoriviparametreina. Yksi\n"
"koodattu merkistö voi olla listalla useilla eri nimillä (aliaksilla).\n"
"\n"
" "
msgstr "Arkistoa luotaessa käytettävä locale.alias-tiedosto"
#: locale/programs/localedef.c:150
-#, fuzzy
msgid "Generate little-endian output"
-msgstr "Tuota little-endian-koodia"
+msgstr "Tuota little-endian-muotoa"
#: locale/programs/localedef.c:152
-#, fuzzy
msgid "Generate big-endian output"
-msgstr "Tuota big-endian-koodia"
+msgstr "Tuota big-endian-muotoa"
#: locale/programs/localedef.c:157
msgid "Compile locale specification"
msgstr ""
#: nscd/nscd.c:635
-#, fuzzy, c-format
-#| msgid "lstat failed"
+#, c-format
msgid "'wait' failed\n"
-msgstr "tiedoston tilan luku epäonnistui"
+msgstr "”wait” epäonnistui\n"
#: nscd/nscd.c:642
#, c-format
msgstr "tilapäistä tiedostoa ei voi luoda"
#: nss/makedb.c:304
-#, fuzzy, c-format
+#, c-format
msgid "cannot stat newly created file"
-msgstr "tiedoston ”%s” tilaa ei voi lukea: %s"
+msgstr "juuri luodun tiedoston tilaa ei voi lukea"
#: nss/makedb.c:315
#, c-format
msgstr "tilapäistä tiedostoa ei voi nimetä uudelleen"
#: nss/makedb.c:531 nss/makedb.c:554
-#, fuzzy, c-format
+#, c-format
msgid "cannot create search tree"
-msgstr "hakupolulle ei voi luoda välimuistia"
+msgstr "hakupuuta ei voi luoda"
#: nss/makedb.c:560
msgid "duplicate key"
msgstr "uuden tietokantatiedoston kirjoittaminen epäonnistui"
#: nss/makedb.c:812
-#, fuzzy, c-format
+#, c-format
msgid "cannot stat database file"
-msgstr "tiedoston ”%s” tilaa ei voi lukea: %s"
+msgstr "tietokantatiedoston tilaa ei voi lukea"
#: nss/makedb.c:817
#, fuzzy, c-format
msgstr "Karttatietokannassa ei ole enempää tietueita"
#: nss/makedb.c:820
-#, fuzzy, c-format
+#, c-format
msgid "file not a database file"
-msgstr "luettaessa profilointidatatiedoston tilaa"
+msgstr "tiedosto ei ole tietokantatiedosto"
#: nss/makedb.c:871
#, fuzzy, c-format
#: posix/getconf.c:403
#, c-format
msgid " %s -a [pathname]\n"
-msgstr ""
+msgstr " %s -a [polku]\n"
#: posix/getconf.c:479
#, c-format
#: stdio-common/psiginfo.c:139
msgid "Signal sent by kill()"
-msgstr ""
+msgstr "Signaalin lähetti kill()"
#: stdio-common/psiginfo.c:142
msgid "Signal sent by sigqueue()"
-msgstr ""
+msgstr "Signaalin lähetti sigqueue()"
#: stdio-common/psiginfo.c:145
msgid "Signal generated by the expiration of a timer"
#: stdio-common/psiginfo.c:157
msgid "Signal sent by tkill()"
-msgstr ""
+msgstr "Signaalin lähetti tkill()"
#: stdio-common/psiginfo.c:162
msgid "Signal generated by the completion of an asynchronous name lookup request"
msgstr "Epäonnistui (määrittelemätön virhe)"
#: sunrpc/clnt_raw.c:115
-#, fuzzy
msgid "clnt_raw.c: fatal header serialization error"
-msgstr "clnt_raw.c: vakava otsikon serialisointivirhe"
+msgstr "clnt_raw.c: vakava otsikon sarjallistamisvirhe"
#: sunrpc/pm_getmaps.c:77
msgid "pmap_getmaps.c: rpc problem"
msgstr "Signaalin keskeyttämä"
#: sysdeps/posix/gai_strerror-strs.h:17
-#, fuzzy
msgid "Parameter string not correctly encoded"
-msgstr "Parametrimerkkijono on väärin koodattu"
+msgstr "Parametrimerkkijono ei ole koodattu oikein"
#: sysdeps/unix/sysv/linux/i386/readelflib.c:65
#, c-format
# GNU libc message catalog for Swedish
-# Copyright © 1996, 1998, 2001, 2002, 2003, 2006, 2008, 2009, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
+# Copyright © 1996, 1998, 2001, 2002, 2003, 2006, 2008, 2009, 2011, 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the glibc package.
-# Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014, 2015
+#
+# Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003, 2006, 2007, 2008, 2009, 2011, 2012, 2013, 2014, 2015.
+# Göran Uddeborg <goeran@uddeborg.se>, 2016.
+#
+# $Revision: 1.3 $
msgid ""
msgstr ""
-"Project-Id-Version: libc 2.21-pre1\n"
+"Project-Id-Version: libc 2.22-pre1\n"
"POT-Creation-Date: 2015-07-31 00:10-0400\n"
-"PO-Revision-Date: 2015-01-24 10:35+0100\n"
-"Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
+"PO-Revision-Date: 2016-08-02 17:17+0200\n"
+"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
#: argp/argp-help.c:1643
#, c-format
msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "Försök med \"%s --help\" eller \"%s --usage\" för mer information\n"
+msgstr "Försök med ”%s --help” eller ”%s --usage” för mer information.\n"
#: argp/argp-help.c:1671
#, c-format
#: debug/xtrace.sh:32 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: malloc/memusage.sh:26
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
-msgstr "Försök med \\\"%s --help\\\" eller \\\"%s --usage\\\" för mer information\\n"
+msgstr "Försök med ”%s --help” eller ”%s --usage” för mer information\\n"
#: debug/xtrace.sh:38
msgid "%s: option '%s' requires an argument.\\n"
-msgstr "%s: flaggan \\\"%s\\\" kräver ett argument\\n"
+msgstr "%s: flaggan ”%s” kräver ett argument.\\n"
#: debug/xtrace.sh:45
msgid ""
" --usage Visa en kort hjälptext\n"
" -V,--version Visa versionsinformation och avsluta\n"
"\n"
-"Obligatoriska argument för långa flaggor är obligatoriska även för\n"
+"Obligatoriska argument för långa flaggor är obligatoriska även för\n"
"motsvarande korta.\n"
#: debug/xtrace.sh:57 elf/ldd.bash.in:55 elf/sotruss.sh:49
#: malloc/memusage.sh:64
msgid "For bug reporting instructions, please see:\\\\n%s.\\\\n"
-msgstr ""
-"För felrapporteringsinstruktioner, se:\\\\n%s.\\\\n\n"
-"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\\\\n"
+msgstr "För felrapporteringsinstruktioner, se:\\\\n%s.\\\\nRapportera fel eller synpunkter på översättningen till:\\\\n<tp-sv@listor.tp-sv.se>.\\\\n"
#: debug/xtrace.sh:125
msgid "xtrace: unrecognized option \\`$1'\\n"
-msgstr "xtrace: okänd flagga \"$1\"\\n"
+msgstr "xtrace: okänd flagga ”$1”\\n"
#: debug/xtrace.sh:138
msgid "No program name given\\n"
#: debug/xtrace.sh:146
#, sh-format
msgid "executable \\`$program' not found\\n"
-msgstr "program \"$program\" hittades inte\\n"
+msgstr "program ”$program” hittades inte\\n"
#: debug/xtrace.sh:150
#, sh-format
msgid "\\`$program' is no executable\\n"
-msgstr "\"$program\" är inte en körbar binär\\n"
+msgstr "”$program” är inte en körbar binär\\n"
#: dlfcn/dlinfo.c:63
msgid "RTLD_SELF used in code not dynamically loaded"
#: elf/cache.c:157 elf/ldconfig.c:1340
#, c-format
msgid "Can't open cache file %s\n"
-msgstr "Kan inte öppna cache-fil \"%s\"\n"
+msgstr "Kan inte öppna cache-filen %s\n"
#: elf/cache.c:171
#, c-format
#: elf/cache.c:426
#, c-format
msgid "Can't create temporary cache file %s"
-msgstr "Kan inte skapa temporär cache-fil \"%s\""
+msgstr "Kan inte skapa en temporär cache-fil %s"
#: elf/cache.c:434 elf/cache.c:444 elf/cache.c:448 elf/cache.c:453
#, c-format
#: elf/ldconfig.c:609
#, c-format
msgid "Ignored file %s since it is not a regular file."
-msgstr "Ignorerar fil %s eftersom den inte är en vanlig fil"
+msgstr "Ignorerar fil %s eftersom den inte är en vanlig fil."
#: elf/ldconfig.c:618
#, c-format
#: elf/ldd.bash.in:80
msgid "ldd: option \\`$1' is ambiguous"
-msgstr "ldd: flaggan \"$1\" är tvetydig"
+msgstr "ldd: flaggan ”$1” är tvetydig"
#: elf/ldd.bash.in:87
msgid "unrecognized option"
#: elf/ldd.bash.in:88 elf/ldd.bash.in:125
msgid "Try \\`ldd --help' for more information."
-msgstr "Försök med \"ldd --help\" för mer information"
+msgstr "Försök med \"ldd --help\" för mer information."
#: elf/ldd.bash.in:124
msgid "missing file arguments"
msgstr "kan inte läsa objektnamn"
#: elf/pldd-xx.c:219
-#, fuzzy, c-format
-#| msgid "cannot allocate memory for program header"
+#, c-format
msgid "cannot allocate buffer for object name"
-msgstr "kan inte allokera minne för programhuvud"
+msgstr "kan inte allokera en buffert för objektnamn"
#: elf/pldd.c:64
msgid "List dynamic shared objects loaded into process."
#: elf/sotruss.sh:46
msgid "Mandatory arguments to long options are also mandatory for any corresponding\\nshort options.\\n"
-msgstr "Obligatoriska respektive valfria argument för långa flaggor är obligatoriska respektive\\nvalfria även för korta.\\n"
+msgstr "Obligatoriska respektive valfria argument för långa flaggor är obligatoriska\\nrespektive valfria även för korta.\\n"
#: elf/sotruss.sh:55
msgid "%s: option requires an argument -- '%s'\\n"
-msgstr "%s: flaggan kräver ett argument -- \\\"%s\\\"\\n"
+msgstr "%s: flaggan kräver ett argument — ”%s”\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
#: elf/sotruss.sh:134
msgid "%s: unrecognized option '%c%s'\\n"
-msgstr "%s: okänd flagga \\\"%c%s\\\"\\n"
+msgstr "%s: okänd flagga ”%c%s”\\n"
#: elf/sprof.c:77
msgid "Output selection:"
#: elf/sprof.c:89
msgid "Read and display shared object profiling data."
-msgstr "Läs och visa profildata för delat objekt"
+msgstr "Läs och visa profildata för delat objekt."
#: elf/sprof.c:94
msgid "SHOBJ [PROFDATA]"
#: inet/ruserpass.c:185
msgid "Remove password or make file unreadable by others."
-msgstr "Ta bort lösenord eller gör filen oläsbar för andra"
+msgstr "Ta bort lösenord eller gör filen oläsbar för andra."
#: inet/ruserpass.c:277
#, c-format
#: locale/programs/ld-ctype.c:479
#, c-format
msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
-msgstr "tecken L\"\\u%0*x\" i klass \"%s\" måste vara i klass \"%s\""
+msgstr "tecken L'\\u%0*x' i klassen ”%s” måste vara i klassen ”%s”"
#: locale/programs/ld-ctype.c:494
#, c-format
msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
-msgstr "tecken L\"\\u%0*x\" i klass \"%s\" får inte vara i klass \"%s\""
+msgstr "tecken L'\\u%0*x' i klassen ”%s” får inte vara i klassen ”%s”"
#: locale/programs/ld-ctype.c:508 locale/programs/ld-ctype.c:566
#, c-format
#: locale/programs/locale.c:85
msgid "Get locale-specific information."
-msgstr "Hämta lokalspecifik information"
+msgstr "Hämta lokalspecifik information."
#: locale/programs/locale.c:88
msgid ""
#: malloc/memusage.sh:32
msgid "%s: option '%s' requires an argument\\n"
-msgstr "%s: flaggan \\\"%s\\\" kräver ett argument\\n"
+msgstr "%s: flaggan ”%s” kräver ett argument\\n"
#: malloc/memusage.sh:38
msgid ""
#: malloc/memusage.sh:191
msgid "memusage: option \\`${1##*=}' is ambiguous"
-msgstr "memusage: flaggan \"${1##*=}\" är tvetydig"
+msgstr "memusage: flaggan ”${1##*=}” är tvetydig"
#: malloc/memusage.sh:200
msgid "memusage: unrecognized option \\`$1'"
-msgstr "memusage: okänd flagga \"$1\""
+msgstr "memusage: okänd flagga ”$1”"
#: malloc/memusage.sh:213
msgid "No program name given"
#: nis/nis_error.h:48
msgid "Master server busy, full dump rescheduled."
-msgstr "Huvudserver är upptagen, full dump åter schemalagd"
+msgstr "Huvudserver är upptagen, full dump åter schemalagd."
#: nis/nis_local_names.c:121
#, c-format
#: nis/nis_print.c:290
msgid "Linked Object Type : "
-msgstr "Länkad objekttyp: "
+msgstr "Länkad objekttyp : "
#: nis/nis_print.c:292
#, c-format
msgstr " (första)"
#: nscd/cache.c:288
-#, fuzzy, c-format
-#| msgid "cannot stat() file `%s': %s"
+#, c-format
msgid "checking for monitored file `%s': %s"
-msgstr "kan inte ta status på fil \"%s\": %s"
+msgstr "kontrollerar den övervakade filen ”%s”: %s"
#: nscd/cache.c:298
#, c-format
msgid "monitored file `%s` changed (mtime)"
-msgstr ""
+msgstr "den övervakade filen ”%s” ändrades (mtime)"
#: nscd/cache.c:341
#, c-format
#: nscd/connections.c:973
#, c-format
msgid "disabled inotify-based monitoring for file `%s': %s"
-msgstr ""
+msgstr "avaktiverade inotify-baserad övervakning för filen ”%s”: %s"
#: nscd/connections.c:977
#, c-format
msgid "monitoring file `%s` (%d)"
-msgstr ""
+msgstr "övervakar filen ”%s” (%d)"
#: nscd/connections.c:990
#, c-format
msgid "disabled inotify-based monitoring for directory `%s': %s"
-msgstr ""
+msgstr "avaktiverade inotify-baserad övervakning av katalogen ”%s”: %s"
#: nscd/connections.c:994
-#, fuzzy, c-format
-#| msgid "Can't open directory %s"
+#, c-format
msgid "monitoring directory `%s` (%d)"
-msgstr "Kan inte öppna katalog %s"
+msgstr "övervakar katalogen ”%s” (%d)"
#: nscd/connections.c:1022
-#, fuzzy, c-format
-#| msgid "register trace file %s for database %s"
+#, c-format
msgid "monitoring file %s for database %s"
-msgstr "registrera spårningsfil %s för databas %s"
+msgstr "övervakar filen %s för databas %s"
#: nscd/connections.c:1032
#, c-format
msgid "stat failed for file `%s'; will try again later: %s"
-msgstr ""
+msgstr "stat misslyckades för filen ”%s”; kommer försöka igen senare: %s"
#: nscd/connections.c:1151
#, c-format
#: nscd/connections.c:1963
#, c-format
msgid "ignored inotify event for `%s` (file exists)"
-msgstr ""
+msgstr "ignorerade inotify-händelse för ”%s” (filen finns)"
#: nscd/connections.c:1968
#, c-format
msgid "monitored file `%s` was %s, removing watch"
-msgstr ""
+msgstr "den övervakade filen ”%s” var %s, tar bort vakten"
#: nscd/connections.c:1976 nscd/connections.c:2018
#, c-format
msgid "failed to remove file watch `%s`: %s"
-msgstr ""
+msgstr "misslyckades att ta bort filvakt ”%s”: %s"
#: nscd/connections.c:1991
#, c-format
msgid "monitored file `%s` was written to"
-msgstr ""
+msgstr "den övervakade filen ”%s” skrevs till"
#: nscd/connections.c:2015
#, c-format
msgid "monitored parent directory `%s` was %s, removing watch on `%s`"
-msgstr ""
+msgstr "den övervakade föräldrakatalogen ”%s” var %s, tar bort vakten av ”%s”"
#: nscd/connections.c:2041
#, c-format
msgid "monitored file `%s` was %s, adding watch"
-msgstr ""
+msgstr "den övervakade filen ”%s” var %s, lägger till vakt"
#: nscd/connections.c:2053
-#, fuzzy, c-format
-#| msgid "failed to load shared object `%s'"
+#, c-format
msgid "failed to add file watch `%s`: %s"
-msgstr "misslyckades med att ladda delat objekt \"%s\""
+msgstr "misslyckades med att lägga till filvakt ”%s”: %s"
#: nscd/connections.c:2247 nscd/connections.c:2428
-#, fuzzy, c-format
-#| msgid "disabled inotify after read error %d"
+#, c-format
msgid "disabled inotify-based monitoring after read error %d"
-msgstr "inaktiverade inotify efter läsfel %d"
+msgstr "avaktiverade inotify-baserad övervakning efter läsfel %d"
#: nscd/connections.c:2543
msgid "could not initialize conditional variable"
#: nscd/nscd.c:122
msgid "Name Service Cache Daemon."
-msgstr "Namntjänst cache-demon"
+msgstr "Cache-demon för namntjänsten."
#: nscd/nscd.c:155 nss/getent.c:1007 nss/makedb.c:206
#, c-format
#: nscd/selinux.c:368
msgid "Error querying policy for undefined object classes or permissions."
-msgstr "Fel när policy för odefinierade objektklasser eller rättigheter hämtades"
+msgstr "Fel när policy för odefinierade objektklasser eller rättigheter hämtades."
#: nscd/selinux.c:375
msgid "Error getting security class for nscd."
-msgstr "Fel när säkerhetsklass för nscd hämtades"
+msgstr "Fel när säkerhetsklass för nscd hämtades."
#: nscd/selinux.c:380
#, c-format
#: nss/getent.c:64
msgid "Get entries from administrative database."
-msgstr "Hämta poster från den administrativa databasen"
+msgstr "Hämta poster från den administrativa databasen."
#: nss/getent.c:148 nss/getent.c:477 nss/getent.c:522
#, c-format
#: nss/makedb.c:131
msgid "Create simple database from textual input."
-msgstr "Skapa en enkel databas från textuell indata"
+msgstr "Skapa en enkel databas från textuell indata."
#: nss/makedb.c:134
msgid ""
#: sunrpc/rpc_main.c:1374
#, c-format
msgid "Cannot use table flags with newstyle!\n"
-msgstr "Kan inte ange tabellflaggor med ny stil\n"
+msgstr "Kan inte ange tabellflaggor med ny stil!\n"
#: sunrpc/rpc_main.c:1393
#, c-format
#: timezone/zic.c:2789
msgid "too many, or too long, time zone abbreviations"
-msgstr "för många eller för långa tidszonförkortningar"
+msgstr "för många eller för långa tidszonsförkortningar"
#: timezone/zic.c:2829
#, c-format
msgid "%s: Can't create directory %s: %s\n"
msgstr "%s: Kan inte skapa katalog %s: %s\n"
-
-#~ msgid "cannot load any more object with static TLS"
-#~ msgstr "kan inte ladda fler objekt med statiskt TLS"
-
-#~ msgid "%s: no PLTREL found in object %s\n"
-#~ msgstr "%s: hittade inga PLTREL i objekt %s\n"
-
-#~ msgid "cannot create internal descriptors"
-#~ msgstr "kan inte skapa interna deskriptorer"
GLIBC_2.23 fts64_open F
GLIBC_2.23 fts64_read F
GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
GLIBC_2.24 quick_exit F
ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
+libpthread-shared-only-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
endif
ifeq ($(subdir),rt)
librt-sysdep_routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),debug)
ifeq ($(subdir),nptl)
libpthread-sysdep_routines += nptl-sysdep
+libpthread-shared-only-routines += nptl-sysdep
endif
clock_t
clock (void)
{
- nacl_abi_clock_t result;
+ nacl_irt_clock_t result;
return NACL_CALL (__nacl_irt_basic.clock (&result), result);
}
int result;
return NACL_CALL (__nacl_irt_fdio.dup (fd, &result), result);
}
+libc_hidden_def (__dup)
weak_alias (__dup, dup)
__set_errno (ENOSYS);
return (pid_t) -1;
}
- return __waitpid (WAIT_ANY, stat_loc.__iptr, options);
+ return __waitpid (WAIT_ANY, stat_loc, options);
}
weak_alias (__wait3, wait3)
"addis %0,11,%2-1b@ha\n\t"
"addi %0,%0,%2-1b@l\n\t"
"cmpwi 12,1\n\t"
- "beqlr\n\t"
+ "beq 2f\n\t"
"addis %0,11,%3-1b@ha\n\t"
"addi %0,%0,%3-1b@l\n\t"
"cmpwi 12,-1\n\t"
- "beqlr\n\t"
+ "beq 2f\n\t"
"addis %0,11,%4-1b@ha\n\t"
- "addi %0,%0,%4-1b@l"
+ "addi %0,%0,%4-1b@l\n\t"
+ "2:"
: "=r" (ret)
- : "X" (&global), "X" (f1), "X" (f2), "X" (f3));
+ : "i" (&global), "i" (f1), "i" (f2), "i" (f3)
+ : "11", "12", "cr0");
return ret;
}
"addis %0,%0,%1-1b@ha\n\t"
"addi %0,%0,%1-1b@l"
: "=r" (ret)
- : "X" (f1));
+ : "i" (f1)
+ : "12");
return ret;
}
#endif
ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep
+libpthread-shared-only-routines += ptw-sysdep
endif
+++ /dev/null
-/* Compute positive difference, sparc 32-bit.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-#include <math_ldbl_opt.h>
-
-ENTRY(__fdim)
- std %o0, [%sp + 72]
- std %o2, [%sp + 80]
- ldd [%sp + 72], %f0
- ldd [%sp + 80], %f2
- fcmpd %f0, %f2
- st %g0, [%sp + 72]
- fbug 1f
- st %g0, [%sp + 76]
- ldd [%sp + 72], %f0
- fnegs %f0, %f2
- fmovs %f1, %f3
-1: retl
- fsubd %f0, %f2, %f0
-END(__fdim)
-weak_alias (__fdim, fdim)
-
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
-#endif
+++ /dev/null
-/* Compute positive difference, sparc 32-bit.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-
-ENTRY(__fdimf)
- st %o0, [%sp + 72]
- st %o1, [%sp + 76]
- ld [%sp + 72], %f0
- ld [%sp + 76], %f1
- fcmps %f0, %f1
- fbug 1f
- st %g0, [%sp + 72]
- ld [%sp + 72], %f0
- fnegs %f0, %f1
-1: retl
- fsubs %f0, %f1, %f0
-END(__fdimf)
-weak_alias (__fdimf, fdimf)
s_fabsf-vis3 s_llrintf-vis3 s_llrint-vis3 \
s_rintf-vis3 s_rint-vis3 w_sqrt-vis3 w_sqrtf-vis3 \
s_fminf-vis3 s_fmin-vis3 s_fmaxf-vis3 s_fmax-vis3 \
- s_fmaf-vis3 s_fma-vis3 s_fdimf-vis3 s_fdim-vis3 \
- s_nearbyint-vis3 s_nearbyintf-vis3
+ s_fmaf-vis3 s_fma-vis3 s_nearbyint-vis3 \
+ s_nearbyintf-vis3
sysdep_routines += s_copysignf-vis3 s_copysign-vis3
endif
endif
+++ /dev/null
-/* Compute positive difference, sparc 32-bit+v9+vis3.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-
-ENTRY(__fdim_vis3)
- movwtos %o0, %f0
- movwtos %o1, %f1
- movwtos %o2, %f2
- movwtos %o3, %f3
- fcmpd %f0, %f2
- fbug 1f
- nop
- fzero %f0
- fnegd %f0, %f2
-1: retl
- fsubd %f0, %f2, %f0
-END(__fdim_vis3)
+++ /dev/null
-#include <sparc-ifunc.h>
-#include <math_ldbl_opt.h>
-
-SPARC_ASM_VIS3_IFUNC(fdim)
-
-weak_alias (__fdim, fdim)
-
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
-#endif
-
-# undef weak_alias
-# define weak_alias(a, b)
-# undef compat_symbol
-# define compat_symbol(a, b, c, d)
-
-#define __fdim __fdim_generic
-
-#include "../s_fdim.S"
+++ /dev/null
-/* Compute positive difference, sparc 32-bit+v9+vis3.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-
-ENTRY(__fdimf_vis3)
- movwtos %o0, %f0
- movwtos %o1, %f1
- fcmps %f0, %f1
- fbug 1f
- nop
- fzeros %f0
- fnegs %f0, %f1
-1: retl
- fsubs %f0, %f1, %f0
-END(__fdimf_vis3)
+++ /dev/null
-#include <sparc-ifunc.h>
-
-SPARC_ASM_VIS3_IFUNC(fdimf)
-
-weak_alias (__fdimf, fdimf)
-
-# undef weak_alias
-# define weak_alias(a, b)
-
-#define __fdimf __fdimf_generic
-
-#include "../s_fdimf.S"
#define SIGN_BIT %f12 /* -0.0 */
ENTRY (__nearbyint_vis3)
+ sllx %o0, 32, %o0
+ or %o0, %o1, %o0
+ movxtod %o0, %f0
fcmpd %fcc3, %f0, %f0 /* Check for sNaN */
st %fsr, [%sp + 88]
sethi %hi(TWO_FIFTYTWO), %o2
sethi %hi(0xf8003e0), %o5
ld [%sp + 88], %o4
- sllx %o0, 32, %o0
or %o5, %lo(0xf8003e0), %o5
- or %o0, %o1, %o0
- movxtod %o0, %f0
andn %o4, %o5, %o4
fzero ZERO
st %o4, [%sp + 80]
#define SIGN_BIT %f12 /* -0.0 */
ENTRY (__nearbyintf_vis3)
+ movwtos %o0, %f1
fcmps %fcc3, %f1, %f1 /* Check for sNaN */
st %fsr, [%sp + 88]
- movwtos %o0, %f1
sethi %hi(TWO_TWENTYTHREE), %o2
sethi %hi(0xf8003e0), %o5
ld [%sp + 88], %o4
+++ /dev/null
-/* Compute positive difference, sparc 32-bit+v9.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-#include <math_ldbl_opt.h>
-
-ENTRY(__fdim)
- std %o0, [%sp + 72]
- std %o2, [%sp + 80]
- ldd [%sp + 72], %f0
- ldd [%sp + 80], %f2
- fcmpd %f0, %f2
- fbug 1f
- nop
- fzero %f0
- fnegd %f0, %f2
-1: retl
- fsubd %f0, %f2, %f0
-END(__fdim)
-weak_alias (__fdim, fdim)
-
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
-#endif
+++ /dev/null
-/* Compute positive difference, sparc 32-bit+v9.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-
-ENTRY(__fdimf)
- st %o0, [%sp + 72]
- st %o1, [%sp + 76]
- ld [%sp + 72], %f0
- ld [%sp + 76], %f1
- fcmps %f0, %f1
- fbug 1f
- nop
- fzeros %f0
- fnegs %f0, %f1
-1: retl
- fsubs %f0, %f1, %f0
-END(__fdimf)
-weak_alias (__fdimf, fdimf)
#define SIGN_BIT %f12 /* -0.0 */
ENTRY (__nearbyint)
+ sllx %o0, 32, %o0
+ or %o0, %o1, %o0
+ stx %o0, [%sp + 72]
+ ldd [%sp + 72], %f0
fcmpd %fcc3, %f0, %f0 /* Check for sNaN */
st %fsr, [%sp + 88]
sethi %hi(TWO_FIFTYTWO), %o2
sethi %hi(0xf8003e0), %o5
ld [%sp + 88], %o4
- sllx %o0, 32, %o0
or %o5, %lo(0xf8003e0), %o5
- or %o0, %o1, %o0
andn %o4, %o5, %o4
fzero ZERO
st %o4, [%sp + 80]
- stx %o0, [%sp + 72]
sllx %o2, 32, %o2
fnegd ZERO, SIGN_BIT
- ldd [%sp + 72], %f0
ld [%sp + 80], %fsr
stx %o2, [%sp + 72]
fabsd %f0, %f14
#define SIGN_BIT %f12 /* -0.0 */
ENTRY (__nearbyintf)
+ st %o0, [%sp + 68]
+ ld [%sp + 68], %f1
fcmps %fcc3, %f1, %f1 /* Check for sNaN */
st %fsr, [%sp + 88]
- st %o0, [%sp + 68]
sethi %hi(TWO_TWENTYTHREE), %o2
sethi %hi(0xf8003e0), %o5
ld [%sp + 88], %o4
fnegs ZERO, SIGN_BIT
andn %o4, %o5, %o4
st %o4, [%sp + 80]
- ld [%sp + 68], %f1
ld [%sp + 80], %fsr
st %o2, [%sp + 68]
fabss %f1, %f14
+++ /dev/null
-/* Compute positive difference, sparc 64-bit.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-#include <math_ldbl_opt.h>
-
-ENTRY(__fdim)
- fcmpd %f0, %f2
- fbug 1f
- nop
- fzero %f0
- fnegd %f0, %f2
-1: retl
- fsubd %f0, %f2, %f0
-END(__fdim)
-weak_alias (__fdim, fdim)
+++ /dev/null
-/* Compute positive difference, sparc 64-bit.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@davemloft.net>.
-
- 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 <sysdep.h>
-
-ENTRY(__fdimf)
- fcmps %f1, %f3
- fbug 1f
- nop
- fzeros %f1
- fnegs %f1, %f3
-1: retl
- fsubs %f1, %f3, %f0
-END(__fdimf)
-weak_alias (__fdimf, fdimf)
ifeq ($(subdir),rt)
librt-sysdep_routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),nptl)
# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
+libpthread-shared-only-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
endif
/* Called when a makecontext() context returns. Start the
context in R4 or fall through to exit(). */
+ /* Unwind descriptors are looked up based on PC - 2, so we have to
+ make sure to mark the instruction preceding the __startcontext
+ label as .cantunwind. */
+ .fnstart
+ .cantunwind
+ nop
ENTRY(__startcontext)
movs r0, r4
bne PLTJMP(__setcontext)
@ New context was 0 - exit
b PLTJMP(HIDDEN_JUMPTARGET(exit))
+ .fnend
END(__startcontext)
#ifdef PIC
# libpthread uses six-argument inline syscalls.
ifeq ($(subdir),nptl)
libpthread-sysdep_routines += libc-do-syscall
+libpthread-shared-only-routines += libc-do-syscall
endif
ifeq ($(subdir),resource)
ifeq ($(subdir),nptl)
# pull in __syscall_error routine
libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
endif
ifeq ($(subdir),rt)
# pull in __syscall_error routine
librt-routines += sysdep
+librt-shared-only-routines += sysdep
endif
ifeq ($(subdir),rt)
librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),nptl)
ifeq ($(subdir),nptl)
# pull in __syscall_error routine
libpthread-routines += sysdep
-endif
\ No newline at end of file
+libpthread-shared-only-routines += sysdep
+endif
ifeq ($(subdir),rt)
librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),stdlib)
libpthread-routines += sysdep
libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
elision-trylock
+libpthread-shared-only-routines += sysdep
endif
ifeq ($(subdir),rt)
librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),stdlib)
ifeq ($(subdir),rt)
librt-routines += rt-sysdep
+librt-shared-only-routines += rt-sysdep
endif
ifeq ($(subdir),sysvipc)
ifeq ($(subdir),nptl)
# pull in __syscall_error routine
libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
endif
ifeq ($(subdir),nptl)
# pull in __syscall_error routine
libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
endif