summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-05-10 22:55:26 +0000
committerRoland McGrath <roland@gnu.org>1996-05-10 22:55:26 +0000
commitf8cac037eea3e928b0d5e0c17990b6996159eec8 (patch)
tree6a974750b859b185818d8f8b0763907f66fc8954
parent7cfb2d8be3d4ee24fbba14df7176fd13e7052205 (diff)
Fri May 10 18:36:14 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* FAQ: New file contributed by drepper. * time/Makefile (headers): Add timebits.h. * sysdeps/unix/sysv/linux/timebits.h: New file. * sysdeps/stub/timebits.h: New file. * time/time.h (CLK_TCK): Define to CLOCKS_PER_SEC. (CLOCKS_PER_SEC): Remove this macro. Instead #include <timebits.h>.
-rw-r--r--ChangeLog14
-rw-r--r--FAQ140
-rw-r--r--sysdeps/stub/timebits.h25
-rw-r--r--sysdeps/unix/sysv/linux/timebits.h26
-rw-r--r--time/Makefile2
-rw-r--r--time/time.h9
6 files changed, 210 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index eafb3c4673..25c8235a7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Fri May 10 18:36:14 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * FAQ: New file contributed by drepper.
+
+ * time/Makefile (headers): Add timebits.h.
+ * sysdeps/unix/sysv/linux/timebits.h: New file.
+ * sysdeps/stub/timebits.h: New file.
+ * time/time.h (CLK_TCK): Define to CLOCKS_PER_SEC.
+ (CLOCKS_PER_SEC): Remove this macro. Instead #include <timebits.h>.
+
Fri May 10 16:22:44 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Restore const keyword to
@@ -5,7 +15,7 @@ Fri May 10 16:22:44 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* string/argz.h (__argz_create, argz_create): Restore const
keyword.
* string/envz.c (envz_get): Don't declare ENTRY const.
-
+
Fri May 10 11:48:03 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz.h (argz_create): Fix param type.
@@ -18,7 +28,7 @@ Fri May 10 09:41:54 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
from declaration of ARGV.
* string/envz.h (envz_get): Omit const from declaration of return
type.
-
+
Thu May 9 09:17:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* aclocal.m4 (AC_FD_MSG, AC_FD_CC): Fix these for autoconf weirdness.
diff --git a/FAQ b/FAQ
new file mode 100644
index 0000000000..9334108afa
--- /dev/null
+++ b/FAQ
@@ -0,0 +1,140 @@
+ Frequently Asked Question on GNU C Library
+
+As every FAQ this one also tries to answer the questions the user
+might when using the pacakge. Please make sure you read this before
+sending questions/bug reports to the maintainers.
+
+The GNU C Library is very complex. The building process exploits the
+features available in tools generally available. But many things can
+only be done using GNU tools. Also the code is sometimes hard to
+understand because it has to be portable but on the other hand must be
+fast. But you need not understand the details to use GNU C Library.
+This will only be necessary if you intend to contribute or change it.
+
+If you have any question which you think might be worth answered in
+this document let me know.
+
+ --drepper@cygnus.com
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q1] ``What systems the GNU C Library runs on?''
+
+[A1] {UD} This is difficult to answer. The file `README' lists the
+architectures GNU libc is known to run *at some time*. This does not
+mean that it still can be compiled and run on them in the moment.
+
+The systems glibc is known to work on in the moment and most probably
+in the future are:
+
+ *-*-gnu GNU Hurd
+ i[3456]86-*-linux Linux-2.0 on Intel
+
+Other Linux platforms are also on the way to be supported but I need
+some success reports first.
+
+If you have a system not listed above (or in the `README' file) and
+you are really interested in porting it, contact
+
+ Roland McGrath <roland@gnu.ai.mit.edu>
+or Ulrich Drepper <drepper@cygnus.com>
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q2] ``What compiler do I need to translate GNU libc?''
+
+[A2] {UD} It is (almost) impossible to compile GNU C Library using a
+different compiler than GNU CC. A lot of extensions of GNU CC are
+used to increase the portability and speed.
+
+But this does not mean you have to use GNU CC for using the GNU C
+Library. In fact you should be able to use the native C compiler
+because the success only depends on the binutils: the linker and
+archiver.
+
+The GNU CC is found like all other GNU packages on
+ ftp://prep.ai.mit.edu/pub/gnu
+or better one of the many mirrors.
+
+You always should try to use the latest official release. Older
+versions might not have all the features GNU libc could use.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q3] ``When starting make I get only errors messages.
+ What's wrong?''
+
+[A3] {UD} You definitely need GNU make to translate GNU libc. No
+other make program has the needed functionality.
+
+Versions before 3.74 have bugs which prevent correct execution so you
+should upgrade to the latest version before starting the compilation.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q4] ``After I changed configure.in I get `Autoconf version X.Y.
+ or higher is required for this script'. What can I do?''
+
+[A4] {UD} You have to get the specified autoconf version (or a later)
+from your favourite mirror of prep.ai.mit.edu.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q5] ``Do I need a special linker or archiver?''
+
+[A5] {UD} If your native versions are not too buggy you can work with
+them. But GNU libc works best with GNU binutils.
+
+On systems where the native linker does not support weak symbols you
+will not get a really ISO C compliant C library. Generally speaking
+you should use the GNU binutils if they provide at least the same
+functionality as your system's tools.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q6] ``Do I need some more things to compile GNU C Library?''
+
+[A6] {UD} Yes, there are some more :-).
+
+* lots of diskspace (for i386-linux this means, e.g., ~70MB)
+
+ You should avoid compiling on a NFS mounted device. This is very
+ slow.
+
+* plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or
+ i486@66).
+
+ If you have some more interested measurements let me know.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q7] ``When I run `nm libc.so|grep " U "' on the produced library
+ I still find unresolved symbols? Can this be ok?''
+
+[A7] {UD} Yes, this is ok. There can be several kinds of unresolved
+symbols:
+
+* magic symbols automatically generated by the linker. Names are
+ often like __start_* and __stop_*-
+
+* symbols resolved by using libgcc.a
+ (__udivdi3, __umoddi3, or similar)
+
+* weak symbols, which need not be resolved at all
+ (currently fabs among others; this gets resolved if the program
+ is linked against libm, too.)
+
+Generally, you should make sure you find a real program which produces
+errors while linking.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+
+
+
+Answers were given by:
+{UD} Ulrich Drepper, <drepper@cygnus.com>
+
+
+Local Variables:
+ mode:text
+End:
diff --git a/sysdeps/stub/timebits.h b/sysdeps/stub/timebits.h
new file mode 100644
index 0000000000..8de0ebce8e
--- /dev/null
+++ b/sysdeps/stub/timebits.h
@@ -0,0 +1,25 @@
+/* System-dependent timing definitions. Stub version.
+Copyright (C) 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
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+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. */
+
+#ifndef _TIMEBITS_H
+#define _TIMEBITS_H 1
+
+#define CLOCKS_PER_SEC 60
+
+#endif /* timebits.h */
diff --git a/sysdeps/unix/sysv/linux/timebits.h b/sysdeps/unix/sysv/linux/timebits.h
new file mode 100644
index 0000000000..b5eaec91b0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/timebits.h
@@ -0,0 +1,26 @@
+/* System-dependent timing definitions. Linux version.
+Copyright (C) 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
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+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. */
+
+#ifndef _TIMEBITS_H
+#define _TIMEBITS_H 1
+
+#include <asm/param.h>
+#define CLOCKS_PER_SEC HZ /* XXX names not kosher */
+
+#endif /* timebits.h */
diff --git a/time/Makefile b/time/Makefile
index 5741853db4..8feb377dd4 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -21,7 +21,7 @@
#
subdir := time
-headers := time.h sys/time.h sys/timeb.h
+headers := time.h sys/time.h sys/timeb.h timebits.h
distribute := tzfile.h private.h scheck.c ialloc.c yearistype
extra-objs = scheck.o ialloc.o zonenames $(tzfiles:%=z.%)
diff --git a/time/time.h b/time/time.h
index 5f9591419e..fda7f20387 100644
--- a/time/time.h
+++ b/time/time.h
@@ -40,11 +40,14 @@ __BEGIN_DECLS
#ifdef _TIME_H
-/* Processor clock ticks per second. */
-#define CLOCKS_PER_SEC 1 /* ??? */
+/* This defines CLOCKS_PER_SEC, which is the number of processor clock
+ ticks per second. */
+#include <timebits.h>
+
+/* This is the obsolete POSIX.1-1988 name for the same constant. */
#ifdef __USE_POSIX
-#define CLK_TCK 60 /* ??? */
+#define CLK_TCK CLOCKS_PER_SEC
#endif
#endif /* <time.h> included. */