summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-03-24 08:19:18 +0000
committerJakub Jelinek <jakub@redhat.com>2005-03-24 08:19:18 +0000
commit55a24b753a4f6e03ed23e16b2be847bd5c5642a7 (patch)
treec72d70578f8305f1cfedc9a24507d12c45a5ff1c
parentdfaef65dcfc165ef88957b7b4633499cbf612299 (diff)
Updated to fedora-glibc-20050324T0715cvs/fedora-glibc-2_3_4-17
-rw-r--r--ChangeLog72
-rw-r--r--NEWS5
-rw-r--r--Versions.def2
-rw-r--r--elf/Makefile11
-rw-r--r--elf/dl-open.c2
-rw-r--r--elf/elf.h4
-rw-r--r--elf/rtld.c3
-rw-r--r--elf/tst-tls15.c32
-rw-r--r--elf/tst-tlsmod15a.c6
-rw-r--r--elf/tst-tlsmod15b.c17
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in11
-rw-r--r--linuxthreads/ChangeLog10
-rw-r--r--linuxthreads/sysdeps/m68k/Makefile7
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c2
-rw-r--r--locale/iso-4217.def1
-rw-r--r--locale/setlocale.c2
-rw-r--r--localedata/ChangeLog11
-rw-r--r--localedata/SUPPORTED2
-rw-r--r--localedata/charmaps/WINDOWS-31J2
-rw-r--r--localedata/locales/sr_CS349
-rw-r--r--malloc/malloc.c6
-rw-r--r--nis/ypclnt.c10
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/pthread_create.c20
-rw-r--r--scripts/versions.awk22
-rw-r--r--sunrpc/xdr_stdio.c12
-rw-r--r--sysdeps/generic/dl-tls.c38
-rw-r--r--sysdeps/ia64/_mcount.S7
-rw-r--r--sysdeps/ia64/elf/initfini.c4
30 files changed, 608 insertions, 71 deletions
diff --git a/ChangeLog b/ChangeLog
index 07a887f5e4..6b6cbd103b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,57 @@
+2005-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ * nis/ypclnt.c (yp_2_yperr): Revert 2004-11-30 patch.
+ (ypprot_err): Use yp_2_yperr table also for YP_NODOM .. YP_NOMORE.
+
+2005-03-22 Roland McGrath <roland@redhat.com>
+
+ * locale/setlocale.c: Comment typo.
+
+ * scripts/versions.awk: No errors for GLIBC_PRIVATE.
+
+ * Versions.def (libdl, librt): Add GLIBC_2.3.4 version.
+
+ * scripts/versions.awk: Print all errors and die at the end.
+ Use library name in versions array keys.
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf/elf.h (PT_ARM_EXIDX): New macro.
+
+2005-03-21 Thorsten Kukuk <kukuk@suse.de>
+
+ * sunrpc/xdr_stdio.c (xdrstdio_getlong, xdrstdio_putlong):
+ Convert correctly between long/int on 64bit big-endian.
+
+2005-03-21 David Mosberger <davidm@hpl.hp.com>
+
+ * sysdeps/ia64/_mcount.S: Newer kernels don't like register-frames
+ with more than 8 output registers. Fix this by passing original
+ ar.pfs to _mcount_ret_helper via r3.
+
+2005-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #786]
+ * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle
+ GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx).
+ * elf/Makefile: Add rules to build and run tst-tls15.
+ * elf/tst-tls15.c: New test.
+ * elf/tst-tlsmod15a.c: New file.
+ * elf/tst-tlsmod15b.c: New file.
+
+2005-03-20 Ulrich Drepper <drepper@redhat.com>
+
+ * elf/rtld.c (dl_main): Always call init_tls if we have audit modules.
+
+2005-03-20 Alfred M. Szmidt <ams@gnu.org>
+
+ * elf/dl-open.c (dl_open_worker): Fix typo.
+
+2005-03-20 Ulrich Drepper <drepper@redhat.com>
+
+ * malloc/malloc.c (public_cALLOc): We cannot skip the memory
+ clearing if perturb_byte != 0.
+
2005-03-20 Jakub Jelinek <jakub@redhat.com>
* posix/bits/unistd.h (pread) [__USE_FILE_OFFSET64]: Use __off64_t
@@ -7,6 +61,24 @@
* debug/tst-lfschk2.c: New test.
* debug/tst-lfschk3.c: New test.
+2005-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/bits/termios.h (CMSPAR): Define.
+ * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Add __USE_MISC
+ and __USE_XOPEN guards to match linux/bits/termios.h.
+ * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
+ (CMSPAR): Define.
+ * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
+
+2005-02-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/ia64/elf/initfini.c: Add local _init and _fini labels.
+
+2005-02-27 Denis Barbier <barbier@debian.org>
+
+ [BZ #38]
+ * locale/iso-4217.def: Add CSD currency.
+
2005-03-19 Ulrich Drepper <drepper@redhat.com>
* inet/test-ifaddrs.c: Use test-skeleton.
diff --git a/NEWS b/NEWS
index cd975c998b..2601cd5dde 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2005-2-21
+GNU C Library NEWS -- history of user-visible changes. 2005-3-19
Copyright (C) 1992-2004, 2005 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -11,6 +11,9 @@ Version 2.4
* New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153,
IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba.
+
+* It is now possible to install audit libraries for the dynamic linker using
+ LD_AUDIT. Implemented by Ulrich Drepper.
Version 2.3.4
diff --git a/Versions.def b/Versions.def
index 33409f1143..923f5eb31e 100644
--- a/Versions.def
+++ b/Versions.def
@@ -35,6 +35,7 @@ libdl {
GLIBC_2.0
GLIBC_2.1
GLIBC_2.3.3
+ GLIBC_2.3.4
}
libm {
GLIBC_2.0
@@ -90,6 +91,7 @@ librt {
GLIBC_2.2
GLIBC_2.3
GLIBC_2.3.3
+ GLIBC_2.3.4
}
libutil {
GLIBC_2.0
diff --git a/elf/Makefile b/elf/Makefile
index 80a3f6cb19..c034b2ba6e 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -159,7 +159,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
neededtest3 neededtest4 unload2 lateglobal initfirst global \
restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \
circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \
- tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-align \
+ tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 tst-align \
tst-align2 $(tests-execstack-$(have-z-execstack)) tst-dlmodcount \
tst-dlopenrpath tst-deep1 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
unload3 unload4 unload5 tst-audit1 tst-global1 order2
@@ -190,6 +190,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \
tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \
tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \
+ tst-tlsmod15a tst-tlsmod15b \
circlemod1 circlemod1a circlemod2 circlemod2a \
circlemod3 circlemod3a \
reldep8mod1 reldep8mod2 reldep8mod3 \
@@ -471,6 +472,7 @@ tst-tlsmod10.so-no-z-defs = yes
tst-tlsmod12.so-no-z-defs = yes
tst-tlsmod14a.so-no-z-defs = yes
tst-tlsmod14b.so-no-z-defs = yes
+tst-tlsmod15a.so-no-z-defs = yes
circlemod2.so-no-z-defs = yes
circlemod3.so-no-z-defs = yes
circlemod3a.so-no-z-defs = yes
@@ -683,8 +685,11 @@ $(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so
$(objpfx)tst-tls13: $(libdl)
$(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so
-$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl)
-$(objpfx)tst-tls14.out:$(objpfx)tst-tlsmod14b.so
+$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl)
+$(objpfx)tst-tls14.out: $(objpfx)tst-tlsmod14b.so
+
+$(objpfx)tst-tls15: $(libdl)
+$(objpfx)tst-tls15.out: $(objpfx)tst-tlsmod15a.so $(objpfx)tst-tlsmod15b.so
CFLAGS-tst-align.c = $(stack-align-test-flags)
CFLAGS-tst-align2.c = $(stack-align-test-flags)
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 7433d99ff9..a65690e5a3 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -462,8 +462,10 @@ dl_open_worker (void *a)
/* We have to bump the generation counter. */
any_tls = true;
}
+#endif
}
+#if USE_TLS
/* Bump the generation number if necessary. */
if (any_tls && __builtin_expect (++GL(dl_tls_generation) == 0, 0))
_dl_fatal_printf (N_("\
diff --git a/elf/elf.h b/elf/elf.h
index b84cc0e3ad..8a9f7fd482 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -2138,7 +2138,11 @@ typedef Elf32_Addr Elf32_Conflict;
#define PF_ARM_SB 0x10000000 /* Segment contains the location
addressed by the static base */
+/* Processor specific values for the Phdr p_type field. */
+#define PT_ARM_EXIDX 0x70000001 /* .ARM.exidx segment */
+
/* ARM relocs. */
+
#define R_ARM_NONE 0 /* No reloc */
#define R_ARM_PC24 1 /* PC relative 26 bit branch */
#define R_ARM_ABS32 2 /* Direct 32 bit */
diff --git a/elf/rtld.c b/elf/rtld.c
index 720029dfc9..b2122bb9d6 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1353,8 +1353,7 @@ ld.so does not support TLS, but program uses it!\n");
/* Since we start using the auditing DSOs right away we need to
initialize the data structures now. */
- if (!TLS_INIT_TP_EXPENSIVE)
- tcbp = init_tls ();
+ tcbp = init_tls ();
#endif
struct dlmopen_args dlmargs;
dlmargs.fname = al->name;
diff --git a/elf/tst-tls15.c b/elf/tst-tls15.c
new file mode 100644
index 0000000000..7ac963aa2d
--- /dev/null
+++ b/elf/tst-tls15.c
@@ -0,0 +1,32 @@
+#include <dlfcn.h>
+#include <stdio.h>
+
+static int
+do_test (void)
+{
+ void *h = dlopen ("tst-tlsmod15a.so", RTLD_NOW);
+ if (h != NULL)
+ {
+ puts ("unexpectedly succeeded to open tst-tlsmod15a.so");
+ exit (1);
+ }
+
+ h = dlopen ("tst-tlsmod15b.so", RTLD_NOW);
+ if (h == NULL)
+ {
+ puts ("failed to open tst-tlsmod15b.so");
+ exit (1);
+ }
+
+ int (*fp) (void) = (int (*) (void)) dlsym (h, "in_dso");
+ if (fp == NULL)
+ {
+ puts ("cannot find in_dso");
+ exit (1);
+ }
+
+ return fp ();
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/elf/tst-tlsmod15a.c b/elf/tst-tlsmod15a.c
new file mode 100644
index 0000000000..66c707129a
--- /dev/null
+++ b/elf/tst-tlsmod15a.c
@@ -0,0 +1,6 @@
+extern int nonexistent_dummy_var;
+int *
+foo (void)
+{
+ return &nonexistent_dummy_var;
+}
diff --git a/elf/tst-tlsmod15b.c b/elf/tst-tlsmod15b.c
new file mode 100644
index 0000000000..4f63eab144
--- /dev/null
+++ b/elf/tst-tlsmod15b.c
@@ -0,0 +1,17 @@
+#include "tst-tls10.h"
+
+#ifdef USE_TLS__THREAD
+__thread int mod15b_var __attribute__((tls_model("initial-exec")));
+
+int
+in_dso (void)
+{
+ return mod15b_var;
+}
+#else
+int
+in_dso (void)
+{
+ return 0;
+}
+#endif
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 059c5a0d5c..57f20c3c67 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -1,5 +1,5 @@
# This file is updated automatically by Makefile.
glibc-branch := fedora
glibc-base := HEAD
-fedora-sync-date := 2005-03-19 19:07 UTC
-fedora-sync-tag := fedora-glibc-20050319T1907
+fedora-sync-date := 2005-03-24 07:15 UTC
+fedora-sync-tag := fedora-glibc-20050324T0715
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index d6fcab7080..8bb904b278 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 16
+%define glibcrelease 17
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -1275,6 +1275,15 @@ rm -f *.filelist*
%endif
%changelog
+* Thu Mar 24 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-17
+- update from CVS
+ - fix LD_AUDIT in LinuxThreads ld.so
+ - fix calloc with M_PERTURB
+ - fix error handling in pthread_create with PTHREAD_EXPLICIT_SCHED
+ on ppc*/ia64/alpha/mips (BZ#801)
+ - fix a typo in WINDOWS-31J charmap (#151739)
+ - fix NIS ypprot_err (#151469)
+
* Sun Mar 20 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-16
- fix pread with -D_FILE_OFFSET_BITS=64 (#151573)
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 8699564b4c..ce3bcb3e18 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,13 @@
+2005-03-21 GOTO Masanori <gotom@debian.or.jp>
+
+ * linuxthreads/sysdeps/m68k/Makefile: Remove to delete
+ unneeded o-iterator thing.
+
+2005-02-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Add local _init
+ and _fini labels.
+
2005-03-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/Makefile (CFLAGS-pt-initfini.s): Unconditionally
diff --git a/linuxthreads/sysdeps/m68k/Makefile b/linuxthreads/sysdeps/m68k/Makefile
deleted file mode 100644
index 1cd27d44ca..0000000000
--- a/linuxthreads/sysdeps/m68k/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-ifeq ($(subdir), linuxthreads)
-object-suffixes-left := $(libpthread-nonshared)
-define o-iterator-doit
-$(objpfx)$o.os: pic-ccflag = -fPIC
-endef
-include $(o-iterator)
-endif
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c
index 85fd33f4a8..af8a63c163 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c
+++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c
@@ -87,6 +87,7 @@ _init:\n\
/*@_init_EPILOG_BEGINS*/\n\
.section .init\n\
.proc _init#\n\
+_init:\n\
.prologue\n\
.save ar.pfs, r34\n\
.vframe r32\n\
@@ -122,6 +123,7 @@ _fini:\n\
/*@_fini_EPILOG_BEGINS*/\n\
.section .fini\n\
.proc _fini#\n\
+_fini:\n\
.prologue\n\
.save ar.pfs, r34\n\
.vframe r32\n\
diff --git a/locale/iso-4217.def b/locale/iso-4217.def
index 01a69950dc..b7c05a351d 100644
--- a/locale/iso-4217.def
+++ b/locale/iso-4217.def
@@ -43,6 +43,7 @@ DEFINE_INT_CURR("CLP") /* Chilean Peso */
DEFINE_INT_CURR("CNY") /* China Yuan Renminbi */
DEFINE_INT_CURR("COP") /* Colombian Peso */
DEFINE_INT_CURR("CRC") /* Costa Rican Colon */
+DEFINE_INT_CURR("CSD") /* Serbian Dinar */
DEFINE_INT_CURR("CUP") /* Cuban Peso */
DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */
DEFINE_INT_CURR("CYP") /* Cypriot Pound */
diff --git a/locale/setlocale.c b/locale/setlocale.c
index e6db70d4c7..50bf8e772f 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -372,7 +372,7 @@ setlocale (int category, const char *locale)
/* Critical section left. */
__libc_lock_unlock (__libc_setlocale_lock);
- /* Free the resources (the locale path variable. */
+ /* Free the resources (the locale path variable). */
free (locale_path);
return composite;
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 548dc7890c..e454cd0cfc 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,14 @@
+2005-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ * charmaps/WINDOWS-31J: Add % before alias keyword.
+
+2005-02-27 Denis Barbier <barbier@debian.org>
+
+ [BZ #38]
+ * locales/sr_CS: New file.
+ Contributed by Danilo Segan <dsegan@gmx.net>
+ * SUPPORTED: Add sr_CS/ISO-8859-5 and sr_CS.UTF-8/UTF-8.
+
2005-03-18 Andreas Schwab <schwab@suse.de>
* locales/pa_IN (am_pm): Fix character names.
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 6dafc49f4d..b079c4ca79 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -279,6 +279,8 @@ so_KE/ISO-8859-1 \
so_SO/ISO-8859-1 \
sq_AL.UTF-8/UTF-8 \
sq_AL/ISO-8859-1 \
+sr_CS.UTF-8/UTF-8 \
+sr_CS/ISO-8859-5 \
st_ZA.UTF-8/UTF-8 \
st_ZA/ISO-8859-1 \
sv_FI.UTF-8/UTF-8 \
diff --git a/localedata/charmaps/WINDOWS-31J b/localedata/charmaps/WINDOWS-31J
index 76316c5761..d5ab12abef 100644
--- a/localedata/charmaps/WINDOWS-31J
+++ b/localedata/charmaps/WINDOWS-31J
@@ -8,7 +8,7 @@
% MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>, 2003.
% Last changed: 2003-07-18
-alias CP932
+% alias CP932
CHARMAP
<U0000> /x00 NULL
diff --git a/localedata/locales/sr_CS b/localedata/locales/sr_CS
new file mode 100644
index 0000000000..1a01f2f101
--- /dev/null
+++ b/localedata/locales/sr_CS
@@ -0,0 +1,349 @@
+comment_char %
+escape_char /
+%
+% Serbian Language Locale for Serbia and Montenegro
+% Source: sr_YU locale
+% Address:
+%
+% Contact: Danilo Segan
+% Email: dsegan@gmx.net
+% Tel: +381 63 8626082
+% Fax: none
+% Language: sr
+% Territory: CS
+% Revision: 1.2
+% Date: 2004-08-09
+% Application: general
+% Users: general
+% Charset: UTF-8, ISO-8859-5
+% Distribution and use is free, also
+% for commercial purposes.
+%
+% TODO:
+% -- fix LC_COLLATE to work correctly for latin alphabet too
+%
+
+LC_IDENTIFICATION
+title "Serbian locale for Serbia and Montenegro"
+source "sr_YU locale"
+address ""
+contact "Danilo Segan"
+email "bug-glibc-locales@gnu.org"
+tel ""
+fax ""
+language "Serbian"
+territory "Serbia and Montenegro"
+revision "1.2"
+date "2004-08-09"
+audience "general"
+application "GNU locale"
+abbreviation ""
+%
+category "i18n:1997";LC_IDENTIFICATION
+category "i18n:1997";LC_CTYPE
+category "i18n:1997";LC_COLLATE
+category "i18n:1997";LC_MONETARY
+category "i18n:1997";LC_NUMERIC
+category "i18n:1997";LC_TIME
+category "i18n:1997";LC_MESSAGES
+category "i18n:1997";LC_PAPER
+category "i18n:1997";LC_NAME
+category "i18n:1997";LC_ADDRESS
+category "i18n:1997";LC_TELEPHONE
+category "i18n:1997";LC_MEASUREMENT
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "i18n"
+translit_start
+include "translit_combining";""
+
+% cyrillic -> latin
+<U0452> "<U0111>";"<U0064><U006A>" % d-
+<U0453> "<U0067><U006A>" % gj
+<U0455> "<U0064><U007A>" % dz
+<U0458> "<U006A>" % j
+<U0459> "<U006C><U006A>" % lj
+<U045A> "<U006E><U006A>" % nj
+<U045B> "<U0107>";"<U0063>" % c'
+<U045C> "<U006B><U006A>" % kj
+<U045F> "<U0064><U017E>";"<U0064><U007A>" % dz<
+
+<U0402> "<U0110>";"<U0044><U006A>" % D-
+<U0403> "<U0047><U006A>" % Gj
+<U0405> "<U0044><U007A>" % Dz
+<U0408> "<U004A>" % J
+<U0409> "<U004C><U006A>" % Lj
+<U040A> "<U004E><U006A>" % Nj
+<U040B> "<U0106>";"<U0043>" % C'
+<U040C> "<U004B><U006A>" % Kj
+<U040F> "<U0044><U017E>";"<U0064><U007A>" % Dz<
+
+<U0430> "<U0061>"
+<U0431> "<U0062>"
+<U0446> "<U0063>"
+<U0434> "<U0064>"
+<U0435> "<U0065>"
+<U0444> "<U0066>"
+<U0433> "<U0067>"
+<U0445> "<U0068>"
+<U0438> "<U0069>"
+<U043A> "<U006B>"
+<U043B> "<U006C>"
+<U043C> "<U006D>"
+<U043D> "<U006E>"
+<U043E> "<U006F>"
+<U043F> "<U0070>"
+<U0440> "<U0072>"
+<U0441> "<U0073>"
+<U0442> "<U0074>"
+<U0443> "<U0075>"
+<U0432> "<U0076>"
+<U0437> "<U007A>"
+<U0436> "<U017E>";"<U007A>" % z<
+<U0448> "<U0161>";"<U0073>" % s<
+<U0447> "<U010D>";"<U0063>" % c<
+
+<U0410> "<U0041>"
+<U0411> "<U0042>"
+<U0426> "<U0043>"
+<U0414> "<U0044>"
+<U0415> "<U0045>"
+<U0424> "<U0046>"
+<U0413> "<U0047>"
+<U0425> "<U0048>"
+<U0418> "<U0049>"
+<U041A> "<U004B>"
+<U041B> "<U004C>"
+<U041C> "<U004D>"
+<U041D> "<U004E>"
+<U041E> "<U004F>"
+<U041F> "<U0050>"
+<U0420> "<U0052>"
+<U0421> "<U0053>"
+<U0422> "<U0054>"
+<U0423> "<U0055>"
+<U0412> "<U0056>"
+<U0417> "<U005A>"
+<U0416> "<U017D>";"<U005A>" % z<
+<U0428> "<U0160>";"<U0053>" % s<
+<U0427> "<U010C>";"<U0063>" % c<
+
+translit_end
+END LC_CTYPE
+
+
+LC_COLLATE
+
+copy "iso14651_t1"
+
+collating-symbol <d-z-sh>
+collating-symbol <l-j-sh>
+collating-symbol <n-j-sh>
+
+collating-symbol <cacute>
+collating-symbol <ccaron>
+collating-symbol <d//>
+collating-symbol <scaron>
+collating-symbol <zcaron>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<cacute>
+<ccaron>
+<d>
+<d-z-sh>
+<d//>
+reorder-after <l>
+<l-j-sh>
+reorder-after <n>
+<n-j-sh>
+reorder-after <s>
+<scaron>
+reorder-after <z>
+<zcaron>
+
+reorder-after <U0063>
+<U0107> <cacute>;<PCT>;<MIN>;IGNORE
+<U010D> <ccaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0043>
+<U0106> <cacute>;<PCT>;<CAP>;IGNORE
+<U010C> <ccaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0064>
+<d-z<> <d-z-sh>;<PCT>;<MIN>;IGNORE
+<dz<> <d-z-sh>;<PCT>;<MIN>;IGNORE
+<d-Z<> <d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
+<U0111> <d//>;<PCT>;<MIN>;IGNORE
+reorder-after <U0044>
+<D-Z<> <d-z-sh>;<PCT>;<CAP>;IGNORE
+<DZ<> <d-z-sh>;<PCT>;<CAP>;IGNORE
+<D-z<> <d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
+<Dz<> <d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
+<U0110> <d//>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006C>
+<l-j> <l-j-sh>;<PCT>;<MIN>;IGNORE
+<lj> <l-j-sh>;<PCT>;<MIN>;IGNORE
+<l-J> <l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004C>
+<L-J> <l-j-sh>;<PCT>;<CAP>;IGNORE
+<LJ> <l-j-sh>;<PCT>;<CAP>;IGNORE
+<L-j> <l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+<Lj> <l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U006E>
+<n-j> <n-j-sh>;<PCT>;<MIN>;IGNORE
+<nj> <n-j-sh>;<PCT>;<MIN>;IGNORE
+<n-J> <n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<N-J> <n-j-sh>;<PCT>;<CAP>;IGNORE
+<NJ> <n-j-sh>;<PCT>;<CAP>;IGNORE
+<N-j> <n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+<Nj> <n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0073>
+<U0161> <scaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0053>
+<U0160> <scaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U007A>
+<U017E> <zcaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U005A>
+<U017D> <zcaron>;<PCT>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_MONETARY
+int_curr_symbol "<U0043><U0053><U0044><U0020>"
+currency_symbol "<U0434><U0438><U043D>"
+mon_decimal_point "<U002C>"
+mon_thousands_sep "<U002E>"
+mon_grouping 3;3
+positive_sign ""
+negative_sign "<U002D>"
+int_frac_digits 2
+frac_digits 2
+p_cs_precedes 0
+p_sep_by_space 1
+n_cs_precedes 0
+n_sep_by_space 1
+p_sign_posn 1
+n_sign_posn 1
+END LC_MONETARY
+
+LC_NUMERIC
+decimal_point "<U002C>"
+thousands_sep ""
+grouping 0;0
+END LC_NUMERIC
+
+LC_TIME
+
+abday "<U043D><U0435><U0434>";"<U043F><U043E><U043D>";/
+ "<U0443><U0442><U043E>";"<U0441><U0440><U0435>";/
+ "<U0447><U0435><U0442>";"<U043F><U0435><U0442>";/
+ "<U0441><U0443><U0431>"
+day "<U043D><U0435><U0434><U0435><U0459><U0430>";/
+ "<U043F><U043E><U043D><U0435><U0434><U0435><U0459><U0430><U043A>";/
+ "<U0443><U0442><U043E><U0440><U0430><U043A>";/
+ "<U0441><U0440><U0435><U0434><U0430>";/
+ "<U0447><U0435><U0442><U0432><U0440><U0442><U0430><U043A>";/
+ "<U043F><U0435><U0442><U0430><U043A>";/
+ "<U0441><U0443><U0431><U043E><U0442><U0430>"
+abmon "<U0458><U0430><U043D>";"<U0444><U0435><U0431>";/
+ "<U043C><U0430><U0440>";"<U0430><U043F><U0440>";/
+ "<U043C><U0430><U0458>";"<U0458><U0443><U043D>";/
+ "<U0458><U0443><U043B>";"<U0430><U0432><U0433>";/
+ "<U0441><U0435><U043F>";"<U043E><U043A><U0442>";/
+ "<U043D><U043E><U0432>";"<U0434><U0435><U0446>"
+mon "<U0458><U0430><U043D><U0443><U0430><U0440>";/
+ "<U0444><U0435><U0431><U0440><U0443><U0430><U0440>";/
+ "<U043C><U0430><U0440><U0442>";/
+ "<U0430><U043F><U0440><U0438><U043B>";/
+ "<U043C><U0430><U0458>";/
+ "<U0458><U0443><U043D>";/
+ "<U0458><U0443><U043B>";/
+ "<U0430><U0432><U0433><U0443><U0441><U0442>";/
+ "<U0441><U0435><U043F><U0442><U0435><U043C><U0431><U0430><U0440>";/
+ "<U043E><U043A><U0442><U043E><U0431><U0430><U0440>";/
+ "<U043D><U043E><U0432><U0435><U043C><U0431><U0430><U0440>";/
+ "<U0434><U0435><U0446><U0435><U043C><U0431><U0430><U0440>"
+
+d_t_fmt "<U0025><U0041><U002C><U0020><U0025><U0064><U002E><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002E><U0020><U0025><U0054>/
+<U0020><U0025><U005A>"
+d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059><U002E>"
+t_fmt "<U0025><U0054>"
+am_pm "";""
+t_fmt_ampm "<U0025><U0054>"
+date_fmt "<U0025><U0061><U002C><U0020><U0025><U0065><U002E><U0020>/
+<U0025><U0062><U0020><U0025><U0059><U002E><U0020><U0020><U0025><U0048>/
+<U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U000A>"
+week 7;19971201;4
+first_weekday 2
+first_workday 2
+END LC_TIME
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U0414><U0434><U0044><U0064><U0059><U0079><U005D>"
+noexpr "<U005E><U005B><U041D><U043D><U004E><U006E><U005D>"
+END LC_MESSAGES
+
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+LC_NAME
+name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+name_gen ""
+name_mr "<U0433><U002D><U0434><U0438><U043D>"
+name_mrs "<U0433><U002D><U0452><U0430>"
+name_miss "<U0433><U002D><U0452><U0438><U0446><U0430>"
+name_ms "<U0433><U002D><U0452><U0430>"
+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>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_ab2 "<U0043><U0053>"
+country_ab3 "<U0053><U0043><U0047>"
+% FIXME: country_post is probably incorrect
+country_post "<U0053><U0043><U0047>"
+country_name "<U0421><U0440><U0431><U0438><U0458><U0430><U0020><U0438>/
+<U0020><U0426><U0440><U043D><U0430><U0020><U0413><U043E><U0440><U0430>"
+country_num 891
+country_car "<U0053><U0043><U0047>"
+% FIXME: ISBN code is what? "86" that preceedes all the numbers?
+country_isbn "<U0038><U0036>"
+lang_name "<U0441><U0440><U043F><U0441><U043A><U0438>"
+lang_term "<U0073><U0072><U0070>"
+lang_lib "<U0073><U0063><U0063>"
+lang_ab "<U0073><U0072>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
+<U006C>"
+tel_dom_fmt "<U0025><U0041><U0020><U0025><U006C>"
+int_prefix "<U0033><U0038><U0031>"
+int_select "<U0039><U0039>"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 44831bbb1d..65be277097 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1,4 +1,4 @@
- /* Malloc implementation for multiple threads without lock contention.
+/* Malloc implementation for multiple threads without lock contention.
Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Wolfram Gloger <wg@malloc.de>
@@ -3691,14 +3691,14 @@ public_cALLOc(size_t n, size_t elem_size)
/* Two optional cases in which clearing not necessary */
#if HAVE_MMAP
- if (chunk_is_mmapped(p))
+ if (perturb_byte == 0 && chunk_is_mmapped(p))
return mem;
#endif
csz = chunksize(p);
#if MORECORE_CLEARS
- if (p == oldtop && csz > oldtopsize) {
+ if (perturb_byte == 0 && (p == oldtop && csz > oldtopsize)) {
/* clear only the bytes from non-freshly-sbrked memory */
csz = oldtopsize;
}
diff --git a/nis/ypclnt.c b/nis/ypclnt.c
index 85292b62d9..6230cb84dc 100644
--- a/nis/ypclnt.c
+++ b/nis/ypclnt.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996.
@@ -829,6 +830,11 @@ yperr_string (const int error)
static const int8_t yp_2_yperr[] =
{
#define YP2YPERR(yp, yperr) [YP_##yp - YP_VERS] = YPERR_##yperr
+ YP2YPERR (TRUE, SUCCESS),
+ YP2YPERR (NOMORE, NOMORE),
+ YP2YPERR (FALSE, YPERR),
+ YP2YPERR (NOMAP, MAP),
+ YP2YPERR (NODOM, DOMAIN),
YP2YPERR (NOKEY, KEY),
YP2YPERR (BADOP, YPERR),
YP2YPERR (BADDB, BADDB),
@@ -839,7 +845,7 @@ static const int8_t yp_2_yperr[] =
int
ypprot_err (const int code)
{
- if (code < YP_VERS || code > YP_NOKEY)
+ if (code < YP_VERS || code > YP_NOMORE)
return YPERR_YPERR;
return yp_2_yperr[code - YP_VERS];
}
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6e0b5e31a1..6ded83e181 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-23 Ulrich Drepper <drepper@redhat.com>
+
+ * pthread_create.c (__pthread_create_2_1): Rename syscall error
+ variable to scerr.
+
2005-03-10 Jakub Jelinek <jakub@redhat.com>
* tst-getpid1.c (do_test): Align stack passed to clone{2,}.
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index bf41e9fcc9..18f1c034c7 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -347,17 +347,15 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg)
void *arg;
{
STACK_VARIABLES;
- const struct pthread_attr *iattr;
- struct pthread *pd;
- int err;
- iattr = (struct pthread_attr *) attr;
+ const struct pthread_attr *iattr = (struct pthread_attr *) attr;
if (iattr == NULL)
/* Is this the best idea? On NUMA machines this could mean
accessing far-away memory. */
iattr = &default_attr;
- err = ALLOCATE_STACK (iattr, &pd);
+ struct pthread *pd;
+ int err = ALLOCATE_STACK (iattr, &pd);
if (__builtin_expect (err != 0, 0))
/* Something went wrong. Maybe a parameter of the attributes is
invalid or we could not allocate memory. */
@@ -406,14 +404,14 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg)
&& __builtin_expect ((iattr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0, 0)
&& (iattr->flags & (ATTR_FLAG_SCHED_SET | ATTR_FLAG_POLICY_SET)) != 0)
{
- INTERNAL_SYSCALL_DECL (err);
+ INTERNAL_SYSCALL_DECL (scerr);
/* Use the scheduling parameters the user provided. */
if (iattr->flags & ATTR_FLAG_POLICY_SET)
pd->schedpolicy = iattr->schedpolicy;
else if ((pd->flags & ATTR_FLAG_POLICY_SET) == 0)
{
- pd->schedpolicy = INTERNAL_SYSCALL (sched_getscheduler, err, 1, 0);
+ pd->schedpolicy = INTERNAL_SYSCALL (sched_getscheduler, scerr, 1, 0);
pd->flags |= ATTR_FLAG_POLICY_SET;
}
@@ -422,14 +420,14 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg)
sizeof (struct sched_param));
else if ((pd->flags & ATTR_FLAG_SCHED_SET) == 0)
{
- INTERNAL_SYSCALL (sched_getparam, err, 2, 0, &pd->schedparam);
+ INTERNAL_SYSCALL (sched_getparam, scerr, 2, 0, &pd->schedparam);
pd->flags |= ATTR_FLAG_SCHED_SET;
}
/* Check for valid priorities. */
- int minprio = INTERNAL_SYSCALL (sched_get_priority_min, err, 1,
+ int minprio = INTERNAL_SYSCALL (sched_get_priority_min, scerr, 1,
iattr->schedpolicy);
- int maxprio = INTERNAL_SYSCALL (sched_get_priority_max, err, 1,
+ int maxprio = INTERNAL_SYSCALL (sched_get_priority_max, scerr, 1,
iattr->schedpolicy);
if (pd->schedparam.sched_priority < minprio
|| pd->schedparam.sched_priority > maxprio)
diff --git a/scripts/versions.awk b/scripts/versions.awk
index 7e33387d41..e642b3d16e 100644
--- a/scripts/versions.awk
+++ b/scripts/versions.awk
@@ -1,5 +1,5 @@
# Combine version map fragments into version scripts for our shared objects.
-# Copyright (C) 1998,99,2000,02 Free Software Foundation, Inc.
+# Copyright (C) 1998,99,2000,2002,2005 Free Software Foundation, Inc.
# Written by Ulrich Drepper <drepper@cygnus.com>, 1998.
# This script expects the following variables to be defined:
@@ -9,17 +9,19 @@
# Read definitions for the versions.
BEGIN {
+ lossage = 0;
+
nlibs=0;
while (getline < defsfile) {
if (/^[a-zA-Z0-9_.]+ \{/) {
libs[$1] = 1;
curlib = $1;
while (getline < defsfile && ! /^}/) {
- if ($2 == "=") {
+ if ($2 == "=") {
renamed[curlib "::" $1] = $3;
- }
+ }
else
- versions[$1] = 1;
+ versions[curlib "::" $1] = 1;
}
}
}
@@ -42,7 +44,7 @@ BEGIN {
actlib = $1;
if (!libs[$1]) {
printf("no versions defined for %s\n", $1) > "/dev/stderr";
- exit 1;
+ ++lossage;
}
next;
}
@@ -51,9 +53,9 @@ BEGIN {
/^ [A-Za-z_]/ {
if (renamed[actlib "::" $1])
actver = renamed[actlib "::" $1];
- else if (!versions[$1]) {
+ else if (!versions[actlib "::" $1] && $1 != "GLIBC_PRIVATE") {
printf("version %s not defined for %s\n", $1, actlib) > "/dev/stderr";
- exit 1;
+ ++lossage;
}
else
actver = $1;
@@ -93,6 +95,12 @@ function close_and_move(name, real_name) {
# Now print the accumulated information.
END {
close(sort);
+
+ if (lossage) {
+ system("rm -f " tmpfile);
+ exit 1;
+ }
+
oldlib = "";
oldver = "";
printf("version-maps =");
diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c
index 4daa062c82..e73c5a5202 100644
--- a/sunrpc/xdr_stdio.c
+++ b/sunrpc/xdr_stdio.c
@@ -108,20 +108,20 @@ xdrstdio_destroy (XDR *xdrs)
static bool_t
xdrstdio_getlong (XDR *xdrs, long *lp)
{
- int32_t mycopy;
+ u_int32_t mycopy;
- if (fread ((caddr_t) & mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
+ if (fread ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
- *lp = (int32_t) ntohl (mycopy);
+ *lp = (long) ntohl (mycopy);
return TRUE;
}
static bool_t
xdrstdio_putlong (XDR *xdrs, const long *lp)
{
- long mycopy = htonl (*lp);
- lp = &mycopy;
- if (fwrite ((caddr_t) lp, 4, 1, (FILE *) xdrs->x_private) != 1)
+ int32_t mycopy = htonl ((u_int32_t) *lp);
+
+ if (fwrite ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
return TRUE;
}
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c
index fdd569b587..4fed570d5c 100644
--- a/sysdeps/generic/dl-tls.c
+++ b/sysdeps/generic/dl-tls.c
@@ -71,26 +71,24 @@ _dl_next_tls_modid (void)
NB: the offset +1 is due to the fact that DTV[0] is used
for something else. */
result = GL(dl_tls_static_nelem) + 1;
- /* If the following would not be true we mustn't have assumed
- there is a gap. */
- assert (result <= GL(dl_tls_max_dtv_idx));
- do
- {
- while (result - disp < runp->len)
- {
- if (runp->slotinfo[result - disp].map == NULL)
- break;
-
- ++result;
- assert (result <= GL(dl_tls_max_dtv_idx) + 1);
- }
-
- if (result - disp < runp->len)
- break;
-
- disp += runp->len;
- }
- while ((runp = runp->next) != NULL);
+ if (result <= GL(dl_tls_max_dtv_idx))
+ do
+ {
+ while (result - disp < runp->len)
+ {
+ if (runp->slotinfo[result - disp].map == NULL)
+ break;
+
+ ++result;
+ assert (result <= GL(dl_tls_max_dtv_idx) + 1);
+ }
+
+ if (result - disp < runp->len)
+ break;
+
+ disp += runp->len;
+ }
+ while ((runp = runp->next) != NULL);
if (result > GL(dl_tls_max_dtv_idx))
{
diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S
index aa91cb5d42..8720a9c104 100644
--- a/sysdeps/ia64/_mcount.S
+++ b/sysdeps/ia64/_mcount.S
@@ -72,6 +72,7 @@ LEAF(_mcount)
mov b7 = loc0
mov rp = in2
;;
+ mov r3 = in0
mov r8 = loc2
mov r15 = loc3
mov b6 = r2
@@ -81,10 +82,10 @@ END(_mcount)
LOCAL_LEAF(_mcount_ret_helper)
.prologue
.altrp b7
- .save ar.pfs, r40
+ .save ar.pfs, r3
.body
- alloc r2 = ar.pfs, 0, 0, 9, 0
- mov ar.pfs = r40
+ alloc r2 = ar.pfs, 0, 0, 8, 0
+ mov ar.pfs = r3
br b7
END(_mcount_ret_helper)
diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c
index 59674fe6f2..3aa44de8f1 100644
--- a/sysdeps/ia64/elf/initfini.c
+++ b/sysdeps/ia64/elf/initfini.c
@@ -116,13 +116,14 @@ __asm__ (".section .init\n"
"/*@_init_PROLOG_ENDS*/\n"
"\n"
"/*@_init_EPILOG_BEGINS*/\n"
+" .section .init\n"
" .proc _init#\n"
+"_init:\n"
" .prologue\n"
" .save ar.pfs, r34\n"
" .vframe r32\n"
" .save rp, r33\n"
" .body\n"
-" .section .init\n"
" .regstk 0,2,0,0\n"
" mov r12 = r32\n"
" mov ar.pfs = r34\n"
@@ -155,6 +156,7 @@ __asm__ (".section .init\n"
"/*@_fini_EPILOG_BEGINS*/\n"
" .section .fini\n"
" .proc _fini#\n"
+"_fini:\n"
" .prologue\n"
" .save ar.pfs, r34\n"
" .vframe r32\n"