Re: Is make broken ?

Alan Shutko (ats@hurd193.wustl.edu)
Sat, 09 Mar 1996 00:45:29 -0600


>From the release notes for libc-5.2.18:

A dirent bug, which erroneously defined d->reclen to d->namlen if USE_GNU
was defined, has been fixed. Unfortunately, some GNU packages depend on
this bug. GNU make 3.xx is one of them. A patch is included here.
Please recompile GNU make before installing this library. Otherwise
you have to use "make -f Makefile" to specify which Makefile to
use when rebuilding GNU make.

A back door has been added for the file descriptor in DIR. You need to
define DIRENT_ILLEGAL_ACCESS to access the dd_fd field. You should use
dirfd () to get the the file descriptor in DIR. Use this at your own
risk.

A new dirent bug is fixed. The ELF nfsd should work fine.

<iostdio.h> and <iolibio.h> have been removed.

PTHREAD NOTES:

The MIT pthread library 1.60 beta2 seems to work. It passed most of tests
in the MIT pthread package. The pthread libraries are not installed by
default, nor are binaries included. You may want to remove "-g" from the
default CFLAGS for the pthread library. You need to install the libraries
"elfshared/libpthread.so.1.60.beta2" and "elfstatic/libpthread.a" in
either /usr/local/lib or /usr/lib manually. You must run ldconfig after
installing them.

To compile pthread programs, you need to add -D_MIT_POSIX_THREADS to
CFLAGS and -lpthread to LDFLAGS. The network _r functions are still
missing.

Due to the implementation of the pthread library, pthread only works
with the shared libpthread.

NYS NOTES:

NYS binaries are not provided this time. NYS 0.27.4 is included in the
source tree as a compile-time option. Please consult README.nys and other
applicable NYS documents before attempting NYS installation. I disabled
DBM for NYS. Some changes are needed to support non-builtin dbm.

INFORMATION/DOCUMENTATION:

ELF related WWW pages:

* http://www.intac.com/~cully/elf.html
* http://www.sjc.ox.ac.uk/users/barlow/elf.html
* http://www.blackdown.org/elf/elf.html

ELF documentation:

* ftp://sunsite.unc.edu/pub/Linux/GCC/elf.ps.gz
* ftp://sunsite.unc.edu/pub/Linux/GCC/elf.latex.tar.gz
* ftp://sunsite.unc.edu/pub/Linux/GCC/ELF.doc.tar.gz

H.J.
hjl@gnu.ai.mit.edu
12/15/95
----
RCS file: /home/cvs/gnu/make/dir.c,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 dir.c
*** 1.1.1.1 1995/06/25 03:27:16
--- dir.c 1995/06/25 03:55:22
***************
*** 20,26 ****

#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
! #ifndef __GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
--- 20,26 ----

#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
! #ifndef __BAD_GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
===================================================================
RCS file: /home/cvs/gnu/make/glob/glob.c,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 glob.c
*** 1.1.1.1 1995/06/25 03:27:18
--- glob/glob.c 1995/06/25 03:56:01
***************
*** 64,70 ****

#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
! #ifndef __GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)
--- 64,70 ----

#if defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
#include <dirent.h>
! #ifndef __BAD_GNU_LIBRARY__
#define D_NAMLEN(d) strlen((d)->d_name)
#else /* GNU C library. */
#define D_NAMLEN(d) ((d)->d_namlen)

--
Alan Shutko <ats@hubert.wustl.edu> - The Few, the Proud, the Remaining.
Single-sided, low density.