about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog47
-rw-r--r--MakeTAGS46
-rw-r--r--Makeconfig3
-rw-r--r--Makerules16
-rw-r--r--Rules5
-rw-r--r--po/.cvsignore1
-rw-r--r--po/SYS_libc.pot807
-rw-r--r--stdlib/strtod.c2
-rw-r--r--sysdeps/ieee754/dbl2mpn.c8
-rw-r--r--sysdeps/ieee754/ldbl2mpn.c6
-rw-r--r--sysdeps/ieee754/mpn2dbl.c8
-rw-r--r--sysdeps/mach/i386/sysdep.h18
-rw-r--r--sysdeps/unix/alarm.c (renamed from sysdeps/unix/bsd/alarm.c)0
-rw-r--r--sysdeps/unix/i386/sysdep.h40
-rw-r--r--sysdeps/unix/nice.c (renamed from sysdeps/unix/bsd/nice.c)0
-rw-r--r--sysdeps/unix/stime.c (renamed from sysdeps/unix/bsd/stime.c)0
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h14
-rw-r--r--sysdeps/unix/time.c (renamed from sysdeps/unix/bsd/time.c)0
-rw-r--r--sysdeps/unix/utime.c (renamed from sysdeps/unix/bsd/utime.c)0
-rw-r--r--time/private.h10
-rw-r--r--time/zdump.c10
-rw-r--r--time/zic.c2
22 files changed, 987 insertions, 56 deletions
diff --git a/ChangeLog b/ChangeLog
index c9581ef115..84599fc939 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,52 @@
+Wed Feb 21 02:25:07 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
+
+	* Rules (others): Depend on $(extra-objs), $(install-lib),
+	$(install-bin), $(install-sbin), in object directory.
+
+	* Makeconfig (link-libc): Don't pass -rpath option with default
+	path, since ld.so should use the same default.
+	* Makerules (build-shlib): Likewise.
+
+	* Makerules (make-target-directory): Use mkinstalldirs.
+
+	* sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
+	redefine ENTRY et al.
+
+	* sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
+	Macros removed.  The code in unix/i386/sysdep.h should now suffice.
+
+	* sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
+	[HAVE_ELF] and not.
+	(ENTRY): Use it in .align directive.
+	(CALL_MCOUNT): New macro, empty unless [PROF].
+	(ENTRY): Do CALL_MCOUNT just after the label.
+
+	* Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
+	code can call mcount.
+
+Tue Feb 20 23:05:16 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
+
+	* time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
+	translation markings are now integrated in his distribution.
+
+	* stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.
+
 Mon Feb 19 18:31:59 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
 
+	* po: New directory where `LANG.po' files for message translations
+	will reside.
+	* po/SYS_libc.pot: New file, template of message strings as in source.
+	* MakeTAGS: New rules to build po/SYS_libc.pot automatically from
+	the source using xgettext.
+	* Makerules ($(..)po/%.pot): New rule.
+	* manual/Makefile (../po/manual.pot): New target, make it empty.
+
+	* sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
+	* sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
+	* sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
+	* sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
+	* sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
+
 	* time/zic.c, time/scheck.c, time/private.h, time/tzfile.h:
 	Updated from ADO 96d.
 
diff --git a/MakeTAGS b/MakeTAGS
index a442ce8d1e..fff024173b 100644
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -1,6 +1,6 @@
 # Make the TAGS files.
 
-# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1994, 1995, 1996 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
@@ -98,7 +98,7 @@ ifdef subdir
 ifdef tags_sources
 	$(ETAGS) -o $@ $^
 else
-# No sources.  Create a dummy file. 
+# No sources.  Create a dummy file.
 	touch $@
 endif # tags_sources
 else # parent
@@ -114,3 +114,45 @@ $(subdirs:%=%/TAGS):
 	$(MAKE) -C $(@D) no_deps=t $(@F)
 
 endif # subdir
+
+ifndef XGETTEXT
+XGETTEXT = xgettext
+endif
+ifndef MSGJOIN
+MSGJOIN = msgjoin
+endif
+
+P = $(..)po
+
+ifdef subdir
+domain = $(subdir)
+else
+domain = libc-top
+endif
+
+define extract
+@rm -f $@.new
+$(XGETTEXT) --keyword=_ --keyword=N_ --sort-output -d - \
+	    > $@.new /dev/null $^
+mv -f $@.new $@
+endef
+
+$P/$(domain).pot: $(tags_sources); $(extract)
+
+$P/siglist.pot: $(..)sysdeps/generic/signame.c; $(extract)
+$P/errlist.pot: $(..)sysdeps/mach/hurd/errlist.c; $(extract)
+
+all-pot = $P/libc-top.pot $(subdirs:%=$P/%.pot) \
+	  $P/siglist.pot $P/errlist.pot
+
+ifndef subdir
+$P/SYS_libc.pot: $(all-pot)
+	@rm -f $@.new
+	$(MSGJOIN) $^ > $@.new
+	mv -f $@.new $@
+	test ! -d CVS || cvs ci -m'Regenerated from source files' $@
+
+$(subdirs:%=$P/%.pot): $P/%.pot: FORCE
+	$(MAKE) -C $* no_deps=t ../$@
+FORCE:
+endif
diff --git a/Makeconfig b/Makeconfig
index cd43132f5c..6f2305e44a 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -291,7 +291,7 @@ endif
 endif
 ifndef link-libc
 ifeq (yes,$(build-shared))
-link-libc = -Wl,-rpath-link=$(common-objdir) -Wl,-rpath=$(default-rpath) \
+link-libc = -Wl,-rpath-link=$(common-objdir) \
 	    $(common-objpfx)libc.so$(libc.so-version) $(gnulib)
 # Choose the default search path for the dynamic linker based on
 # where we will install libraries.
@@ -450,6 +450,7 @@ ifeq (yes,$(build-profile))
 # Under --enable-profile, we will build a static library of profiled objects.
 # The profiled object files are named foo.po.
 object-suffixes += .po
+CPPFLAGS-.po = -DPROF
 CFLAGS-.po = -pg
 libtype.po = lib%_p.a
 endif
diff --git a/Makerules b/Makerules
index 21b260cc9a..c64e820e43 100644
--- a/Makerules
+++ b/Makerules
@@ -449,13 +449,11 @@ $(make-target-directory)
 $(INSTALL_DATA) $< $@
 endef
 
-# Make the target directory if it doesn't exist.  Because of make's
-# directory cache, this will produce the `mkdir' command when the directory
-# already exists, if it didn't exist at the start of the `make' run.  The
-# `-' prefix ignores errors from mkdir, so there will just be some
-# gratuitous but harmless `File exists' messages.
+# Make the target directory if it doesn't exist, using the `mkinstalldirs'
+# script that does `mkdir -p' even if `mkdir' doesn't support that flag.
 define make-target-directory
-$(addprefix -mkdir ,$(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
+$(addprefix $(..)mkinstalldirs ,\
+	    $(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
 endef
 
 # Any directory (parent or subdir) that has any object files to build
@@ -574,7 +572,7 @@ define build-shlib
 $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
 	  -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
 	  $(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-	  -Wl,-rpath-link=$(common-objdir) -Wl,-rpath=$(libdir) \
+	  -Wl,-rpath-link=$(common-objdir) \
 	  -Wl,--whole-archive $^ $(LDLIBS-$(@F:lib%.so=%).so)
 endef
 
@@ -621,6 +619,10 @@ check: tests
 TAGS: distinfo $(..)MakeTAGS
 	$(MAKE) $(addprefix -f ,$^) $@
 
+$(..)po/%.pot: distinfo $(..)MakeTAGS
+	$(MAKE) $(addprefix -f ,$^) $@
+
+
 .PHONY: echo-headers
 echo-headers:
 	@echo $(headers)
diff --git a/Rules b/Rules
index 2bab3bfdfb..8d9d0a4695 100644
--- a/Rules
+++ b/Rules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96 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
@@ -38,6 +38,9 @@ export subdir := $(subdir)
 .PHONY: all
 all: objs lib others
 
+others: $(addprefix $(objpfx),$(extra-objs) \
+			      $(install-lib) $(install-bin) $(install-sbin))
+
 ifneq	"$(findstring env,$(origin headers))" ""
 headers :=
 endif
diff --git a/po/.cvsignore b/po/.cvsignore
new file mode 100644
index 0000000000..6e2eca51fb
--- /dev/null
+++ b/po/.cvsignore
@@ -0,0 +1 @@
+[a-z]*.pot
diff --git a/po/SYS_libc.pot b/po/SYS_libc.pot
new file mode 100644
index 0000000000..fc21bf09e7
--- /dev/null
+++ b/po/SYS_libc.pot
@@ -0,0 +1,807 @@
+msgid ""
+msgstr ""
+"Date: 1996-02-14 01:31:32-0500\n"
+"From: Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>\n"
+"Content-Type: text/plain; charset=\n"
+"Xgettext-Options: --keyword=_ --keyword=N_ --sort-output -d -\n"
+"Files\n"
+"\t: /dev/null assert-perr.c assert.c assert.h\n"
+"\t\n"
+"\t\n"
+"\t\n"
+"\t\n"
+"\t\n"
+"\t\n"
+"\t"
+
+#: assert.c:48
+msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+msgstr ""
+
+#: assert-perr.c:46
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr ""
+
+#: charmap.c:324
+msgid "%s: `END CHARMAP' is missing"
+msgstr ""
+
+#: charmap.c:195
+msgid "%s: unexpected end of file in charmap"
+msgstr ""
+
+#: locfile-lex.c:87
+msgid "%s: unexpected end of file in locale defintion file"
+msgstr ""
+
+#: locfile-parse.c:205
+msgid "%s:%Zd: `copy' must be sole rule"
+msgstr ""
+
+#: collate.c:51 locale-ctype.c:261 locfile-parse.c:190 locfile-parse.c:236
+msgid "%s:%Zd: category `%s' does not end with `END %s'"
+msgstr ""
+
+#: locfile-parse.c:268
+msgid "%s:%Zd: category item `%s' already defined"
+msgstr ""
+
+#: locfile-lex.c:250 locfile-lex.c:518
+msgid "%s:%Zd: character `%s' not defined"
+msgstr ""
+
+#: locfile-lex.c:155
+msgid "%s:%Zd: comment does not start in column 1"
+msgstr ""
+
+#: collate.c:165 collate.c:174
+msgid "%s:%Zd: directives `forward' and `backward' are mutually exclusive"
+msgstr ""
+
+#: locale-ctype.c:187
+msgid "%s:%Zd: duplicate definition of item `%s' in category `LC_CTYPE'"
+msgstr ""
+
+#: locale-ctype.c:101
+msgid "%s:%Zd: duplicate definiton of item `%s' in category `LC_CTYPE'"
+msgstr ""
+
+#: locfile-lex.c:497
+msgid "%s:%Zd: end of line in character symbol"
+msgstr ""
+
+#: locale-ctype.c:121
+msgid "%s:%Zd: illegal use of `...'"
+msgstr ""
+
+#: locfile-parse.c:172
+msgid "%s:%Zd: invalid locale `%s' in copy statement"
+msgstr ""
+
+#: locfile-parse.c:741
+msgid "%s:%Zd: invalid number"
+msgstr ""
+
+#: locfile-lex.c:455
+msgid "%s:%Zd: line too long;  use `getconf LINE_MAX' to get the current maximum line length"
+msgstr ""
+
+#: locfile-lex.c:131
+msgid "%s:%Zd: line too long;  use `getconf LINE_MAX' to get the maximum line length"
+msgstr ""
+
+#: locfile-parse.c:112
+msgid "%s:%Zd: locale category start expected"
+msgstr ""
+
+#: locale-ctype.c:158
+msgid "%s:%Zd: lower bound of ellipsis not smaller"
+msgstr ""
+
+#: locfile-parse.c:130
+msgid "%s:%Zd: multiple definition of locale category %s"
+msgstr ""
+
+#: locfile-parse.c:725
+msgid "%s:%Zd: number expected"
+msgstr ""
+
+#: collate.c:76
+msgid "%s:%Zd: symbolic name must not be duplicate name in charmap"
+msgstr ""
+
+#: collate.c:124
+msgid "%s:%Zd: symbolic name must not duplicate name in charmap"
+msgstr ""
+
+#: locfile-lex.c:201
+msgid "%s:%Zd: syntax error in locale definition file"
+msgstr ""
+
+#: locfile-parse.c:337
+msgid "%s:%Zd: too few elements for item `%s'"
+msgstr ""
+
+#: locfile-parse.c:321
+msgid "%s:%Zd: too many elements for item `%s`"
+msgstr ""
+
+#: locfile-lex.c:437
+msgid "%s:%Zd: trailing garbage at end of line"
+msgstr ""
+
+#: locfile-lex.c:237
+msgid "%s:%Zd: unterminated string at end of line"
+msgstr ""
+
+#: charmap.c:429
+msgid "%s:%u: byte constant has less than two digits"
+msgstr ""
+
+#: charmap.c:435
+msgid "%s:%u: character encoding must be given in 8-bit bytes"
+msgstr ""
+
+#: charmap.c:239
+msgid "%s:%u: duplicate code set name specification"
+msgstr ""
+
+#: charmap.c:259
+msgid "%s:%u: duplicate definition of mb_cur_max"
+msgstr ""
+
+#: charmap.c:276
+msgid "%s:%u: duplicate definition of mb_cur_min"
+msgstr ""
+
+#: charmap.c:462 charmap.c:498
+msgid "%s:%u: duplicate entry"
+msgstr ""
+
+#: charmap.c:264
+msgid "%s:%u: illegal value for mb_cur_max: %d"
+msgstr ""
+
+#: charmap.c:281
+msgid "%s:%u: illegal value for mb_cur_min: %d"
+msgstr ""
+
+#: charmap.c:332
+msgid "%s:%u: line too long;  use `getconf LINE_MAX' to get the current maximum linelength"
+msgstr ""
+
+#: charmap.c:448
+msgid "%s:%u: number of bytes in character definition exceeds `mb_cur_max'"
+msgstr ""
+
+#: charmap.c:486
+msgid "%s:%u: starting character is bigger than last"
+msgstr ""
+
+#: locale-ctype.c:352
+msgid "<SP> character must not be in class `%s'"
+msgstr ""
+
+#: locale-ctype.c:346
+msgid "<SP> character not in class `%s'"
+msgstr ""
+
+#: monetary.c:113
+msgid "Internal error in %s, line %u"
+msgstr ""
+
+#: regex.c:952 xmalloc.c:74
+msgid "Memory exhausted"
+msgstr ""
+
+#: locfile-parse.c:466
+msgid "cannot copy locale definition file `%s'"
+msgstr ""
+
+#: locale-ctype.c:472 locfile-parse.c:481 locfile-parse.c:682
+msgid "cannot open output file `%s': %m"
+msgstr ""
+
+#: locfile-parse.c:779
+msgid "cannot read locale directory `%s'"
+msgstr ""
+
+#: locale-ctype.c:485 locale-ctype.c:507 locfile-parse.c:690
+msgid "cannot write output file `%s': %m"
+msgstr ""
+
+#: locfile-parse.c:429
+msgid "category `%s' not defined"
+msgstr ""
+
+#: locale-ctype.c:319
+msgid "character '\\%o' in class `%s' must be in class `%s'"
+msgstr ""
+
+#: locale-ctype.c:325
+msgid "character '\\%o' inc class `%s' must not be in class `%s'"
+msgstr ""
+
+#: locale-ctype.c:341
+msgid "character <SP> not defined in character map"
+msgstr ""
+
+#: locale-ctype.c:600 locale-ctype.c:638 locale-ctype.c:644 locale-ctype.c:650 locale-ctype.c:656 locale-ctype.c:662 locale-ctype.c:668 locale-ctype.c:697 locale-ctype.c:703 locale-ctype.c:738 locale-ctype.c:770 locale-ctype.c:777
+msgid "character `%s' not defined while needed as default value"
+msgstr ""
+
+#: charmap.c:118
+msgid "computing character table size: this may take a while"
+msgstr ""
+
+#: charmap.c:72 charmap.c:78 locfile-lex.c:60
+msgid "input file `%s' not found"
+msgstr ""
+
+#: locale-ctype.c:333 locfile-parse.c:385 locfile-parse.c:532
+msgid "internal error in %s, line %u"
+msgstr ""
+
+#: monetary.c:75
+msgid "item `%s' does not correspond to any valid name in ISO-4217"
+msgstr ""
+
+#: monetary.c:100 numeric.c:52
+msgid "item `%s' in category `%s' must not be empty"
+msgstr ""
+
+#: monetary.c:70
+msgid "item `%s' of category `%s' has wrong length"
+msgstr ""
+
+#: locfile-parse.c:422 messages.c:43 monetary.c:61 numeric.c:41
+msgid "item `%s' of category `%s' undefined"
+msgstr ""
+
+#: messages.c:63
+msgid "no correct regular expression for item `%s' in category `%s': %s"
+msgstr ""
+
+#: charmap.c:96
+msgid "program limitation: for now only upto %Zu bytes per character are allowed"
+msgstr ""
+
+#: monetary.c:88
+msgid "value for item `%s' in category `%s' must be in range %d...%d"
+msgstr ""
+
+#: psignal.c:48
+msgid "%s%sUnknown signal %d\n"
+msgstr ""
+
+#: mcheck.c:174
+msgid "block freed twice"
+msgstr ""
+
+#: mcheck.c:177
+msgid "bogus mcheck_status, library is buggy"
+msgstr ""
+
+#: mcheck.c:168
+msgid "memory clobbered before allocated block"
+msgstr ""
+
+#: mcheck.c:171
+msgid "memory clobbered past end of allocated block"
+msgstr ""
+
+#: mcheck.c:165
+msgid "memory is consistent, library is buggy"
+msgstr ""
+
+#: ../sysdeps/mach/_strerror.c:43
+msgid "Error in unknown error system: "
+msgstr ""
+
+#: ../sysdeps/generic/_strerror.c:36 ../sysdeps/mach/_strerror.c:58
+msgid "Unknown error "
+msgstr ""
+
+#: strsignal.c:40
+msgid "Unknown signal %d"
+msgstr ""
+
+#: getopt.c:668
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: getopt.c:671
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#: getopt.c:596
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
+
+#: getopt.c:568
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
+
+#: getopt.c:611
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
+
+#: getopt.c:591
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
+
+#: getopt.c:707
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: getopt.c:643
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
+
+#: getopt.c:639
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
+
+#: regex.c:946
+msgid "Invalid back reference"
+msgstr ""
+
+#: regex.c:944
+msgid "Invalid character class name"
+msgstr ""
+
+#: regex.c:943
+msgid "Invalid collation character"
+msgstr ""
+
+#: regex.c:950
+msgid "Invalid content of \\{\\}"
+msgstr ""
+
+#: regex.c:953
+msgid "Invalid preceding regular expression"
+msgstr ""
+
+#: regex.c:951
+msgid "Invalid range end"
+msgstr ""
+
+#: regex.c:942
+msgid "Invalid regular expression"
+msgstr ""
+
+#: regex.c:941
+msgid "No match"
+msgstr ""
+
+#: regex.c:5197
+msgid "No previous regular expression"
+msgstr ""
+
+#: regex.c:954
+msgid "Premature end of regular expression"
+msgstr ""
+
+#: regex.c:955
+msgid "Regular expression too big"
+msgstr ""
+
+#: regex.c:940
+msgid "Success"
+msgstr ""
+
+#: regex.c:945
+msgid "Trailing backslash"
+msgstr ""
+
+#: regex.c:948
+msgid "Unmatched ( or \\("
+msgstr ""
+
+#: regex.c:956
+msgid "Unmatched ) or \\)"
+msgstr ""
+
+#: regex.c:947
+msgid "Unmatched [ or [^"
+msgstr ""
+
+#: regex.c:949
+msgid "Unmatched \\{"
+msgstr ""
+
+#: rcmd.c:325
+msgid ".rhosts fstat failed"
+msgstr ""
+
+#: rcmd.c:321
+msgid ".rhosts lstat failed"
+msgstr ""
+
+#: rcmd.c:323
+msgid ".rhosts not regular file"
+msgstr ""
+
+#: rcmd.c:329
+msgid ".rhosts writeable by other than owner"
+msgstr ""
+
+#: rcmd.c:118
+msgid "Trying %s...\n"
+msgstr ""
+
+#: rcmd.c:327
+msgid "bad .rhosts owner"
+msgstr ""
+
+#: rcmd.c:112
+msgid "connect to address %s: "
+msgstr ""
+
+#: rcmd.c:154
+msgid "rcmd: select (setting up stderr): %s\n"
+msgstr ""
+
+#: rcmd.c:86
+msgid "rcmd: socket: All ports in use\n"
+msgstr ""
+
+#: rcmd.c:141
+msgid "rcmd: write (setting up stderr): %s\n"
+msgstr ""
+
+#: rcmd.c:158
+msgid "select: protocol failure in circuit setup\n"
+msgstr ""
+
+#: rcmd.c:176
+msgid "socket: protocol failure in circuit setup.\n"
+msgstr ""
+
+#: herror.c:74
+msgid "Host name lookup failure"
+msgstr ""
+
+#: herror.c:76
+msgid "No address associated with name"
+msgstr ""
+
+#: herror.c:72
+msgid "Resolver Error 0 (no error)"
+msgstr ""
+
+#: herror.c:114
+msgid "Resolver internal error"
+msgstr ""
+
+#: herror.c:73
+msgid "Unknown host"
+msgstr ""
+
+#: herror.c:117
+msgid "Unknown resolver error"
+msgstr ""
+
+#: herror.c:75
+msgid "Unknown server error"
+msgstr ""
+
+#: rpc_main.c:77
+msgid "       %s [-c | -h | -l | -m] [-o outfile] [infile]\n"
+msgstr ""
+
+#: rpc_main.c:80
+msgid "       %s [-s udp|tcp]* [-o outfile] [infile]\n"
+msgstr ""
+
+#: rpc_util.c:258
+msgid "%s, line %d: "
+msgstr ""
+
+#: rpc_main.c:143
+msgid "%s: output would overwrite %s\n"
+msgstr ""
+
+#: rpc_main.c:149
+msgid "%s: unable to open "
+msgstr ""
+
+#: clnt_perr.c:125
+msgid "(unknown authentication error - %d)"
+msgstr ""
+
+#: clnt_perr.c:112 clnt_perr.c:133
+msgid "; low version = %lu, high version = %lu"
+msgstr ""
+
+#: clnt_perr.c:119
+msgid "; why = "
+msgstr ""
+
+#: clnt_perr.c:276
+msgid "Authentication OK"
+msgstr ""
+
+#: pmap_rmt.c:336
+msgid "Broadcast select problem"
+msgstr ""
+
+#: pmap_rmt.c:254
+msgid "Cannot create socket for broadcast rpc"
+msgstr ""
+
+#: pmap_rmt.c:348
+msgid "Cannot receive reply to broadcast"
+msgstr ""
+
+#: pmap_clnt.c:79
+msgid "Cannot register service"
+msgstr ""
+
+#: pmap_rmt.c:312
+msgid "Cannot send broadcast packet"
+msgstr ""
+
+#: pmap_rmt.c:260
+msgid "Cannot set socket option SO_BROADCAST"
+msgstr ""
+
+#: clnt_perr.c:286
+msgid "Client credential too weak"
+msgstr ""
+
+#: clnt_perr.c:254
+msgid "Error %d"
+msgstr ""
+
+#: clnt_perr.c:290
+msgid "Failed (unspecified error)"
+msgstr ""
+
+#: clnt_perr.c:278
+msgid "Invalid client credential"
+msgstr ""
+
+#: clnt_perr.c:282
+msgid "Invalid client verifier"
+msgstr ""
+
+#: clnt_perr.c:288
+msgid "Invalid server verifier"
+msgstr ""
+
+#: clnt_perr.c:217
+msgid "RPC: (unknown error code)"
+msgstr ""
+
+#: clnt_perr.c:179
+msgid "RPC: Authentication error"
+msgstr ""
+
+#: clnt_perr.c:169
+msgid "RPC: Can't decode result"
+msgstr ""
+
+#: clnt_perr.c:167
+msgid "RPC: Can't encode arguments"
+msgstr ""
+
+#: clnt_perr.c:199
+msgid "RPC: Failed (unspecified error)"
+msgstr ""
+
+#: clnt_perr.c:177
+msgid "RPC: Incompatible versions of RPC"
+msgstr ""
+
+#: clnt_perr.c:195
+msgid "RPC: Port mapper failure"
+msgstr ""
+
+#: clnt_perr.c:185
+msgid "RPC: Procedure unavailable"
+msgstr ""
+
+#: clnt_perr.c:197
+msgid "RPC: Program not registered"
+msgstr ""
+
+#: clnt_perr.c:181
+msgid "RPC: Program unavailable"
+msgstr ""
+
+#: clnt_perr.c:183
+msgid "RPC: Program/version mismatch"
+msgstr ""
+
+#: clnt_perr.c:189
+msgid "RPC: Remote system error"
+msgstr ""
+
+#: clnt_perr.c:187
+msgid "RPC: Server can't decode arguments"
+msgstr ""
+
+#: clnt_perr.c:165
+msgid "RPC: Success"
+msgstr ""
+
+#: clnt_perr.c:175
+msgid "RPC: Timed out"
+msgstr ""
+
+#: clnt_perr.c:173
+msgid "RPC: Unable to receive"
+msgstr ""
+
+#: clnt_perr.c:171
+msgid "RPC: Unable to send"
+msgstr ""
+
+#: clnt_perr.c:191
+msgid "RPC: Unknown host"
+msgstr ""
+
+#: clnt_perr.c:193
+msgid "RPC: Unknown protocol"
+msgstr ""
+
+#: clnt_perr.c:280
+msgid "Server rejected credential"
+msgstr ""
+
+#: clnt_perr.c:284
+msgid "Server rejected verifier"
+msgstr ""
+
+#: rpc_parse.c:326
+msgid "array declaration expected"
+msgstr ""
+
+#: auth_unix.c:314
+msgid "auth_none.c - Fatal marshalling problem"
+msgstr ""
+
+#: pmap_rmt.c:177
+msgid "broadcast: ioctl (get interface configuration)"
+msgstr ""
+
+#: pmap_rmt.c:184
+msgid "broadcast: ioctl (get interface flags)"
+msgstr ""
+
+#: svc_udp.c:398
+msgid "cache_set: victim not found"
+msgstr ""
+
+#: svc_simple.c:64
+msgid "can't reassign procedure number %d\n"
+msgstr ""
+
+#: clnt_raw.c:106
+msgid "clnt_raw.c - Fatal header serialization error."
+msgstr ""
+
+#: rpc_scan.c:109
+msgid "constant or identifier expected"
+msgstr ""
+
+#: svc_simple.c:70
+msgid "couldn't create an rpc server\n"
+msgstr ""
+
+#: svc_simple.c:77
+msgid "couldn't register prog %d vers %d\n"
+msgstr ""
+
+#: rpc_parse.c:77
+msgid "definition keyword expected"
+msgstr ""
+
+#: svc_udp.c:344
+msgid "enablecache: cache already enabled"
+msgstr ""
+
+#: svc_udp.c:349
+msgid "enablecache: could not allocate cache"
+msgstr ""
+
+#: svc_udp.c:356
+msgid "enablecache: could not allocate cache data"
+msgstr ""
+
+#: svc_udp.c:362
+msgid "enablecache: could not allocate cache fifo"
+msgstr ""
+
+#: rpc_util.c:300
+msgid "expected '%s'"
+msgstr ""
+
+#: rpc_util.c:312
+msgid "expected '%s' or '%s'"
+msgstr ""
+
+#: rpc_util.c:325
+msgid "expected '%s', '%s' or '%s'"
+msgstr ""
+
+#: rpc_parse.c:384
+msgid "expected type specifier"
+msgstr ""
+
+#: get_myaddr.c:73
+msgid "get_myaddress: ioctl (get interface configuration)"
+msgstr ""
+
+#: rpc_scan.c:281
+msgid "illegal character in file: "
+msgstr ""
+
+#: rpc_parse.c:146
+msgid "illegal result type"
+msgstr ""
+
+#: svc_simple.c:140
+msgid "never registered prog %d\n"
+msgstr ""
+
+#: rpc_parse.c:305 rpc_parse.c:313
+msgid "no array-of-pointer declarations -- use typedef"
+msgstr ""
+
+#: rpc_scan.c:456 rpc_scan.c:464
+msgid "preprocessor error"
+msgstr ""
+
+#: svc_simple.c:83
+msgid "registerrpc: out of memory\n"
+msgstr ""
+
+#: svc_tcp.c:199 svc_tcp.c:204
+msgid "svc_tcp: makefd_xprt: out of memory\n"
+msgstr ""
+
+#: svc_tcp.c:147
+msgid "svctcp_.c - cannot getsockname or listen"
+msgstr ""
+
+#: svc_tcp.c:134
+msgid "svctcp_.c - udp socket creation problem"
+msgstr ""
+
+#: svc_tcp.c:154 svc_tcp.c:161
+msgid "svctcp_create: out of memory\n"
+msgstr ""
+
+#: svc_udp.c:119
+msgid "svcudp_create - cannot getsockname"
+msgstr ""
+
+#: svc_udp.c:107
+msgid "svcudp_create: socket creation problem"
+msgstr ""
+
+#: rpc_util.c:285
+msgid "too many files!\n"
+msgstr ""
+
+#: svc_simple.c:132
+msgid "trouble replying to prog %d\n"
+msgstr ""
+
+#: rpc_scan.c:319
+msgid "unterminated string constant"
+msgstr ""
+
+#: rpc_main.c:75
+msgid "usage: %s infile\n"
+msgstr ""
+
+#: rpc_parse.c:330
+msgid "variable-length array declaration expected"
+msgstr ""
+
+#: rpc_parse.c:370
+msgid "voids allowed only inside union and program definitions"
+msgstr ""
diff --git a/stdlib/strtod.c b/stdlib/strtod.c
index 1a663ba3ab..6b110f6a4f 100644
--- a/stdlib/strtod.c
+++ b/stdlib/strtod.c
@@ -149,7 +149,7 @@ round_and_return (mp_limb *retval, int exponent, int negative,
 	  round_bit = (shift - 1) % BITS_PER_MP_LIMB;
 	  for (i = 0; i < (shift - 1) / BITS_PER_MP_LIMB; ++i)
 	    more_bits |= retval[i] != 0;
-	  more_bits |= (round_limb & ((1 << round_bit) - 1)) != 0;
+	  more_bits |= (round_limb & ((((mp_limb) 1) << round_bit) - 1)) != 0;
 
 	  (void) __mpn_rshift (retval, &retval[shift / BITS_PER_MP_LIMB],
                                RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB),
diff --git a/sysdeps/ieee754/dbl2mpn.c b/sysdeps/ieee754/dbl2mpn.c
index 6b690f711e..bbac525a07 100644
--- a/sysdeps/ieee754/dbl2mpn.c
+++ b/sysdeps/ieee754/dbl2mpn.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1994, 1995, 1996 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
@@ -45,7 +45,7 @@ __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
 #elif BITS_PER_MP_LIMB == 64
   /* Hopefully the compiler will combine the two bitfield extracts
      and this composition into just the original quadword extract.  */
-  res_ptr[0] = (u.ieee.mantissa0 << 32) | u.ieee.mantissa1;
+  res_ptr[0] = ((unsigned long int) u.ieee.mantissa0 << 32) | u.ieee.mantissa1;
   #define N 1
 #else
   #error "mp_limb size " BITS_PER_MP_LIMB "not accounted for"
@@ -87,7 +87,7 @@ __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
 	      if (cnt >= NUM_LEADING_ZEROS)
 		{
 		  res_ptr[N - 1] = res_ptr[0] << (cnt - NUM_LEADING_ZEROS);
-		  res_ptr[0] = 0; 
+		  res_ptr[0] = 0;
 		}
 	      else
 		{
@@ -101,7 +101,7 @@ __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
     }
   else
     /* Add the implicit leading one bit for a normalized number.  */
-    res_ptr[N - 1] |= 1 << (DBL_MANT_DIG - 1 - ((N - 1) * BITS_PER_MP_LIMB));
+    res_ptr[N - 1] |= 1L << (DBL_MANT_DIG - 1 - ((N - 1) * BITS_PER_MP_LIMB));
 
   return N;
 }
diff --git a/sysdeps/ieee754/ldbl2mpn.c b/sysdeps/ieee754/ldbl2mpn.c
index 029a92a556..8db73cd27b 100644
--- a/sysdeps/ieee754/ldbl2mpn.c
+++ b/sysdeps/ieee754/ldbl2mpn.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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
@@ -46,7 +46,7 @@ __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
 #elif BITS_PER_MP_LIMB == 64
   /* Hopefully the compiler will combine the two bitfield extracts
      and this composition into just the original quadword extract.  */
-  res_ptr[0] = (u.ieee.mantissa0 << 32) | u.ieee.mantissa1;
+  res_ptr[0] = ((unsigned long int) u.ieee.mantissa0 << 32) | u.ieee.mantissa1;
   #define N 1
 #else
   #error "mp_limb size " BITS_PER_MP_LIMB "not accounted for"
@@ -70,7 +70,7 @@ __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
 	     for denormalized number.  If it is one, the number is according
 	     to Intel's specification an invalid number.  We make the
 	     representation unique by explicitly clearing this bit.  */
-	  res_ptr[N - 1] &= ~(1 << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB));
+	  res_ptr[N - 1] &= ~(1L << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB));
 
 	  if (res_ptr[N - 1] != 0)
 	    {
diff --git a/sysdeps/ieee754/mpn2dbl.c b/sysdeps/ieee754/mpn2dbl.c
index 85148ad63e..e05d849b61 100644
--- a/sysdeps/ieee754/mpn2dbl.c
+++ b/sysdeps/ieee754/mpn2dbl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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
@@ -23,20 +23,20 @@ Cambridge, MA 02139, USA.  */
 
 /* Convert a multi-precision integer of the needed number of bits (53 for
    double) and an integral power of two to a `double' in IEEE754 double-
-   precision format.  */ 
+   precision format.  */
 
 double
 __mpn_construct_double (mp_srcptr frac_ptr, int expt, int negative)
 {
   union ieee754_double u;
-  
+
   u.ieee.negative = negative;
   u.ieee.exponent = expt + IEEE754_DOUBLE_BIAS;
 #if BITS_PER_MP_LIMB == 32
   u.ieee.mantissa1 = frac_ptr[0];
   u.ieee.mantissa0 = frac_ptr[1] & ((1 << (DBL_MANT_DIG - 32)) - 1);
 #elif BITS_PER_MP_LIMB == 64
-  u.ieee.mantissa1 = frac_ptr[0] & ((1 << 32) - 1);
+  u.ieee.mantissa1 = frac_ptr[0] & ((1L << 32) - 1);
   u.ieee.mantissa0 = (frac_ptr[0] >> 32) & ((1 << (DBL_MANT_DIG - 32)) - 1);
 #else
   #error "mp_limb size " BITS_PER_MP_LIMB "not accounted for"
diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h
index f467fef24b..5f08608314 100644
--- a/sysdeps/mach/i386/sysdep.h
+++ b/sysdeps/mach/i386/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96 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
@@ -16,8 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#define MOVE(x,y)	movl x , y
-
 #define LOSE asm volatile ("hlt")
 
 #define SNARF_ARGS(entry_sp, argc, argv, envp)				      \
@@ -51,12 +49,12 @@ Cambridge, MA 02139, USA.  */
 
 #define STACK_GROWTH_DOWN
 
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@PLT
-#else
-#define JUMPTARGET(name) name
-#endif
+/* Get the machine-independent Mach definitions.  */
+#include_next <sysdep.h>
 
 
-#include_next <sysdep.h>
+/* This should be rearranged, but at the moment this file provides
+   the most useful definitions for assembler syntax details.  */
+#undef ENTRY
+#undef ALIGN
+#include <sysdeps/unix/i386/sysdep.h>
diff --git a/sysdeps/unix/bsd/alarm.c b/sysdeps/unix/alarm.c
index 7743256a09..7743256a09 100644
--- a/sysdeps/unix/bsd/alarm.c
+++ b/sysdeps/unix/alarm.c
diff --git a/sysdeps/unix/i386/sysdep.h b/sysdeps/unix/i386/sysdep.h
index fb1781b156..16a76b1d5f 100644
--- a/sysdeps/unix/i386/sysdep.h
+++ b/sysdeps/unix/i386/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96 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
@@ -20,18 +20,43 @@ Cambridge, MA 02139, USA.  */
 
 #ifdef	ASSEMBLER
 
+/* Syntactic details of assembler.  */
+
+#ifdef HAVE_ELF
+
+/* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
+#define ALIGNARG(log2) 1<<log2
+/* For ELF we need the `.type' directive to make shared libs work right.  */
+#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
+
+/* In ELF C symbols are asm symbols.  */
+#undef	NO_UNDERSCORES
+#define NO_UNDERSCORES
+
+#else
+
+#define ALIGNARG(log2) log2
+#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified.  */
+
+#endif
+
+
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
-  .align 4;								      \
-  C_LABEL(name)
+  .align ALIGNARG(4);							      \
+  C_LABEL(name)								      \
+  CALL_MCOUNT
 
-/* For ELF we need the `.type' directive to make shared libs work right.  */
-#ifdef HAVE_ELF
-#define ASM_TYPE_DIRECTIVE(name,typearg)	.type name,typearg;
+/* If compiled for profiling, call `mcount' at the start of each function.  */
+#ifdef	PROF
+/* The mcount code relies on a normal frame pointer being on the stack
+   to locate our caller, so push one just for its benefit.  */
+#define CALL_MCOUNT \
+  pushl %ebp; movl %esp, %ebp; call JUMPTARGET(mcount); popl %ebp;
 #else
-#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified.  */
+#define CALL_MCOUNT		/* Do nothing.  */
 #endif
 
 #ifdef	NO_UNDERSCORES
@@ -39,6 +64,7 @@ Cambridge, MA 02139, USA.  */
    on this system, the asm identifier `syscall_error' intrudes on the
    C name space.  Make sure we use an innocuous name.  */
 #define	syscall_error	__syscall_error
+#define mcount		_mcount
 #endif
 
 #define	PSEUDO(name, syscall_name, args)				      \
diff --git a/sysdeps/unix/bsd/nice.c b/sysdeps/unix/nice.c
index 01f1412adf..01f1412adf 100644
--- a/sysdeps/unix/bsd/nice.c
+++ b/sysdeps/unix/nice.c
diff --git a/sysdeps/unix/bsd/stime.c b/sysdeps/unix/stime.c
index be928e8f39..be928e8f39 100644
--- a/sysdeps/unix/bsd/stime.c
+++ b/sysdeps/unix/stime.c
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index f6da272c75..c77bbbbf86 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 93, 95, 96 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
 
@@ -17,9 +17,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-/* In the Linux/ELF world, C symbols are asm symbols.  */
-#define NO_UNDERSCORES
-
 /* There is some commonality.  */
 #include <sysdeps/unix/i386/sysdep.h>
 
@@ -64,15 +61,6 @@ syscall_error:								      \
   ret;
 #endif
 
-/* We define our own ENTRY macro because the alignment should be 16 for
-   ELF.  */
-#undef ENTRY
-#define ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name);				      \
-  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), @function)			      \
-  .align 16;								      \
-  C_LABEL (name)
-
 /* Linux takes system call arguments in registers:
 
 	syscall number	%eax	     call-clobbered
diff --git a/sysdeps/unix/bsd/time.c b/sysdeps/unix/time.c
index 8f8a46f830..8f8a46f830 100644
--- a/sysdeps/unix/bsd/time.c
+++ b/sysdeps/unix/time.c
diff --git a/sysdeps/unix/bsd/utime.c b/sysdeps/unix/utime.c
index c7ed20ffe3..c7ed20ffe3 100644
--- a/sysdeps/unix/bsd/utime.c
+++ b/sysdeps/unix/utime.c
diff --git a/time/private.h b/time/private.h
index 6ab33c0d31..de7039539d 100644
--- a/time/private.h
+++ b/time/private.h
@@ -16,7 +16,7 @@
 
 #ifndef lint
 #ifndef NOID
-static char	privatehid[] = "@(#)private.h	7.39";
+static char	privatehid[] = "@(#)private.h	7.40";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -202,6 +202,14 @@ extern int	unlink P((const char * filename));
 #endif /* !defined INITIALIZE */
 
 /*
+** For the benefit of GNU folk...
+*/
+
+#ifndef _
+#define _(x) x
+#endif /* !defined _ */
+
+/*
 ** UNIX was a registered trademark of UNIX System Laboratories in 1993.
 */
 
diff --git a/time/zdump.c b/time/zdump.c
index 8aa7de069b..5169c20299 100644
--- a/time/zdump.c
+++ b/time/zdump.c
@@ -1,6 +1,6 @@
 #ifndef lint
 #ifndef NOID
-static char	elsieid[] = "@(#)zdump.c	7.20";
+static char	elsieid[] = "@(#)zdump.c	7.22";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -88,6 +88,14 @@ static char	elsieid[] = "@(#)zdump.c	7.20";
 #endif /* !defined GNUC_or_lint */
 #endif /* !defined INITIALIZE */
 
+/*
+** For the benefit of GNU folk...
+*/
+
+#ifndef _
+#define _(x) x
+#endif /* !defined _ */
+
 extern char **	environ;
 extern int	getopt();
 extern char *	optarg;
diff --git a/time/zic.c b/time/zic.c
index 09e73c9060..c0ce5be138 100644
--- a/time/zic.c
+++ b/time/zic.c
@@ -1,6 +1,6 @@
 #ifndef lint
 #ifndef NOID
-static char	elsieid[] = "@(#)zic.c	7.59";
+static char	elsieid[] = "@(#)zic.c	7.60";
 #endif /* !defined NOID */
 #endif /* !defined lint */