Sat Jun 22 10:44:09 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* rpm/template (Source): New field.
	(%prep, %build, %install): New sections.
	(%files): Add %doc FAQ NEWS NOTES README.
	* rpm/rpmrc (builddir): Removed.
This commit is contained in:
Roland McGrath 1996-06-22 15:00:08 +00:00
parent 0d3726c3fb
commit 78b5ba3eb7
5 changed files with 87 additions and 14 deletions

View File

@ -1,3 +1,10 @@
Sat Jun 22 10:44:09 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* rpm/template (Source): New field.
(%prep, %build, %install): New sections.
(%files): Add %doc FAQ NEWS NOTES README.
* rpm/rpmrc (builddir): Removed.
Fri Jun 21 00:27:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-load.c (_dl_map_object_from_fd): Fix mapping and l_phdr

60
FAQ
View File

@ -31,12 +31,14 @@ please let me know.
[Q6] ``Do I need some more things to compile GNU C Library?''
[Q7] ``When I run `nm libc.so|grep " U "' on the produced library
I still find unresolved symbols? Can this be ok?''
[Q7] ``When I run `nm -u libc.so' on the produced library I still
find unresolved symbols? Can this be ok?''
[Q8] ``I expect GNU libc to be 100% source code compatible with
the old Linux based GNU libc. Why isn't it like this?''
[Q9] ``Why does getlogin() always return NULL on my Linux box?''
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q1] ``What systems does the GNU C Library run on?''
@ -50,7 +52,8 @@ in the future are:
*-*-gnu GNU Hurd
i[3456]86-*-linux Linux-2.0 on Intel
alpha-*-linux Linux on Alpha
m68k-*-linux Linux-2.0 on Motorola 680x0
alpha-*-linux Linux-2.0 on DEC Alpha
Other Linux platforms are also on the way to be supported but I need
some success reports first.
@ -75,14 +78,14 @@ 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.
or better one of the many mirror sites.
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.
[Q3] ``When starting `make' I get only errors messages.
What's wrong?''
[A3] {UD} You definitely need GNU make to translate GNU libc. No
@ -112,7 +115,8 @@ you should use the GNU binutils if they provide at least the same
functionality as your system's tools.
Always get the newest release of GNU binutils available.
Older releases are known to have bugs that affect building the GNU C library.
Older releases are known to have bugs that affect building the GNU C
Library.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
@ -120,6 +124,11 @@ Older releases are known to have bugs that affect building the GNU C library.
[A6] {UD} Yes, there are some more :-).
* GNU gettext; the GNU libc is internationalized and partly localized.
For bringing the messages for the different languages in the needed
form the tools from the GNU gettext package are necessary. See
ftp://prep.ai.mit.edu/pub/gnu or better any mirror site.
* lots of diskspace (for i386-linux this means, e.g., ~70MB).
You should avoid compiling on a NFS mounted device. This is very
@ -128,7 +137,7 @@ Older releases are known to have bugs that affect building the GNU C library.
* plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or
i486@66).
If you are interested in some more measurements let me know.
If you have some more measurements let me know.
* Some files depend on special tools. E.g., files ending in .gperf
need a `gperf' program. The GNU version (part of libg++) is known
@ -139,10 +148,13 @@ Older releases are known to have bugs that affect building the GNU C library.
+ the header files of the Linux kernel must be available in the
search path of the CPP as <linux/*.h> and <asm/*.h>.
* Some files depend on special tools. E.g., files ending in .gperf
need a `gperf' program. The GNU version (part of libg++) is known
to work while some vendor versions do not.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q7] ``When I run `nm libc.so|grep " U "' on the produced library
I still find unresolved symbols? Can this be ok?''
[Q7] ``When I run `nm -u libc.so' 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:
@ -150,6 +162,8 @@ symbols:
* magic symbols automatically generated by the linker. Names are
often like __start_* and __stop_*
* symbols starting with _dl_* come from the dynamic linker
* symbols resolved by using libgcc.a
(__udivdi3, __umoddi3, or similar)
@ -165,7 +179,7 @@ errors while linking before deciding there is a problem.
[Q8] ``I expect GNU libc to be 100% source code compatible with
the old Linux based GNU libc. Why isn't it like this?''
[A8] {DMT} Not every extension in Linux libc's history was well
[A8] {DMT,UD} Not every extension in Linux libc's history was well
thought-out. In fact it had a lot of problems with standards compliance
and with cleanliness. With the introduction of a new version number these
errors now can be corrected. Here is a list of the known source code
@ -190,6 +204,14 @@ incompatibilities:
corresponds to the third argument of the Linux reboot system call.
That is, a call of the form reboot(a, b, c) needs to be changed into
reboot(c).
Beside this the header <sys/reboot.h> defines the needed constants
for the argument. These RB_* constants should be used instead of the
cryptic magic numbers.
* swapon(): the interface of this function didn't changed, but the
prototype is in a separate header file <sys/swap.h>. For the additional
argument of of swapon() you should use the SWAP_* constants from
<linux/swap.h>, which get defined when <sys/swap.h> is included.
* errno: If a program uses variable "errno", then it _must_ include header
file <errno.h>. The old libc often (erroneously) declared this variable
@ -215,12 +237,26 @@ incompatibilities:
init_module init_module <sys/module.h>
syslog ksyslog_ctl <sys/klog.h>
* lpd: Older versions of lpd depend on an routine called _validuser().
* lpd: Older versions of lpd depend on a routine called _validuser().
The library does not provide this function, but instead provides
__ivaliduser() which has a slightly different interfaces. Simply
upgrading to a newer lpd should fix this problem (e.g., the BSD 4.4
upgrading to a newer lpd should fix this problem (e.g., the 4.4BSD
lpd is known to be working).
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q9] ``Why does getlogin() always return NULL on my Linux box?''
[A9] {UD} The GNU C library has a format for the UTMP and WTMP file
which differs from what your system currently has. It was extended to
fulfill the needs of the next years when IPv6 is introduced. So the
record size is different, fields might have a different position and
so reading the files written by functions from the one library cannot
be read by functions from the other library. Sorry, but this is what
a major release is for. It's better to have a cut now than having no
means to support the new techniques later.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

View File

@ -1,6 +1,6 @@
Open jobs for finishing GNU libc:
---------------------------------
Status: May 1996
Status: June 1996
If you have time and talent to take over any of the jobs below please
contact <bug-glibc@prep.ai.mit.edu>
@ -63,6 +63,8 @@ contact <bug-glibc@prep.ai.mit.edu>
The libm is in fact fdlibm (not the same as in Linux libc).
**** Partly done.
[ 7] If you enjoy assembler programming (as I do --drepper :-) you might
be interested in writing optimized versions for some functions.
@ -80,6 +82,8 @@ contact <bug-glibc@prep.ai.mit.edu>
[ 8] Write nftw() function. Perhaps it might be good to reimplement the
ftw() function as well to share most of the code.
**** Almost done!
[ 9] Write AVL-tree based tsearch() et.al. functions. Currently only
a very simple algorithm is used.
@ -96,3 +100,14 @@ contact <bug-glibc@prep.ai.mit.edu>
b) is without mmap support at least as fast as the current
implementation
c) will be extended with the current hooks and additional functions
[12] Implement shadow password handling. There exist some but I don't
know of any falling under LGPL and where the author is willing to
contribute it to the FSF.
[13] Write access function for group, ether, shadow, rpc, netmasks,
bootparams, netgroup, publickey, automount, aliases databases.
The functions should be embedded in the nss scheme. This is not
hard and not all services must be supported at once.

View File

@ -1,4 +1,3 @@
builddir: .
rpmdir: .
srcrpmdir: .
specdir: .

View File

@ -4,5 +4,21 @@ Group: Development/Libraries/Libc
Version: @VERSION@
Release: 1
Copyright: LGPL, GPL
Source: glibc-@VERSION@.tar.gz
%prep
%setup
%build
configure --prefix=/usr
cat >configparms <<EOF
slibdir=/lib
sysconfdir=/etc
EOF
make
%install
make install
%files
%doc FAQ NEWS NOTES README