mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 02:40:08 +00:00
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>.
This commit is contained in:
parent
7cfb2d8be3
commit
f8cac037ee
14
ChangeLog
14
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.
|
||||
|
140
FAQ
Normal file
140
FAQ
Normal file
@ -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:
|
25
sysdeps/stub/timebits.h
Normal file
25
sysdeps/stub/timebits.h
Normal file
@ -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 */
|
26
sysdeps/unix/sysv/linux/timebits.h
Normal file
26
sysdeps/unix/sysv/linux/timebits.h
Normal file
@ -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 */
|
@ -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.%)
|
||||
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user