Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update.
1997-10-15 06:56  Ulrich Drepper  <drepper@cygnus.com>

	* Rules: Remove ruls to magically install <subdir>.h headers.
	Reported by Mark Kettenis <kettenis@phys.uva.nl>.

	* glibcbug.in: Fix @gnu.ai.mit.edu -> @gnu.org.
	* version.c: Likewise.
	* catgets/gencat.c: Likewise.
	* db2/makedb.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.

	* libc.map: Move _IO_list_all back to GLIBC_2.0.

	* elf/rtld.c: Provide name of running program to _dl_new_object.

	* Rules: Implement shared-only-sources.
	* include/libc-symbols.h: Define default_symbol_version.
	* libio/Makefile (shared-only-sources): Define.
	* libio/freopen.c: Define as default version.
	* libio/iofopen.c: Likewise.
	* libio/genops.c: Define _IO_list_all here.
	* libio/stdfiles.c: Create linked list with public names.
	* libio/oldstdfiles.c: Likewise.

	* stdio-common/printf.c: Optimize.
	* stdio-common/scanf.c: Optimize.

	* sysdeps/generic/setfpucw.c: Include #include <...> not "...".

	* sysdeps/i386/i486/bits/string.h: Add optimized versions of index and
	rindex.

1997-10-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/arith.texi: Spelling fixes.
	* manual/conf.texi: Likewise.
	* manual/creature.texi: Likewise.
	* manual/filesys.texi: Likewise.
	* manual/intro.texi: Likewise.
	* manual/llio.texi: Likewise.
	* manual/math.texi: Likewise.
	* manual/message.texi: Likewise.
	* manual/pattern.texi: Likewise.
	* manual/search.texi: Likewise.
	* manual/signal.texi: Likewise.
	* manual/socket.texi: Likewise.
	* manual/startup.texi: Likewise.
	* manual/stdio.texi: Likewise.
	* manual/string.texi: Likewise.
	* manual/time.texi: Likewise.
	* manual/users.texi: Likewise.

1997-10-13 05:25  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/sys/mman.h: Use __ptr_t instead of __caddr_t.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/mach/hurd/mmap.c: Likewise.
	* sysdeps/generic/mmap.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise.
	* sysdeps/mach/munmap.c: Likewise.
	* sysdeps/generic/munmap.c: Likewise.
	* sysdeps/mach/mprotect.c: Likewise.
	* sysdeps/generic/mprotect.c: Likewise.
	* sysdeps/generic/msync.c: Likewise.
	* sysdeps/generic/madvise.c: Likewise.

	* sysdeps/unix/sysv/linux/madvise.c: Include stub version from generic
	subdir.

1997-10-12 20:27  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/stub (all files):  Moved to sysdeps/generic.
	* all files using stub_warning: Include <stub-tag.h>.
	* include/stub-tag.h: New file, marks stubs in .d files.
	* Makerules: Look for stub-tag.h, not sysdeps/stub, when building
	<gnu/stubs.h>.
	* configure.in: Don't add sysdeps/stub to $sysnames.
	* sysdeps/unix/Makefile: Look for generic headers, not stub
	headers.
	* sysdeps/generic/Makefile: Likewise.
	* manual/maint.texi: Delete references to sysdeps/stub.
	* INSTALL: Rebuilt.
	* configure: Rebuilt.
  • Loading branch information
Ulrich Drepper committed Oct 15, 1997
1 parent 1ea89a4 commit f2ea0f5
Show file tree
Hide file tree
Showing 420 changed files with 1,983 additions and 358 deletions.
89 changes: 89 additions & 0 deletions ChangeLog
@@ -1,3 +1,92 @@
1997-10-15 06:56 Ulrich Drepper <drepper@cygnus.com>

* Rules: Remove ruls to magically install <subdir>.h headers.
Reported by Mark Kettenis <kettenis@phys.uva.nl>.

* glibcbug.in: Fix @gnu.ai.mit.edu -> @gnu.org.
* version.c: Likewise.
* catgets/gencat.c: Likewise.
* db2/makedb.c: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.

* libc.map: Move _IO_list_all back to GLIBC_2.0.

* elf/rtld.c: Provide name of running program to _dl_new_object.

* Rules: Implement shared-only-sources.
* include/libc-symbols.h: Define default_symbol_version.
* libio/Makefile (shared-only-sources): Define.
* libio/freopen.c: Define as default version.
* libio/iofopen.c: Likewise.
* libio/genops.c: Define _IO_list_all here.
* libio/stdfiles.c: Create linked list with public names.
* libio/oldstdfiles.c: Likewise.

* stdio-common/printf.c: Optimize.
* stdio-common/scanf.c: Optimize.

* sysdeps/generic/setfpucw.c: Include #include <...> not "...".

* sysdeps/i386/i486/bits/string.h: Add optimized versions of index and
rindex.

1997-10-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>

* manual/arith.texi: Spelling fixes.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/intro.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/math.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/search.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.

1997-10-13 05:25 Ulrich Drepper <drepper@cygnus.com>

* sysdeps/generic/sys/mman.h: Use __ptr_t instead of __caddr_t.
* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
* sysdeps/mach/hurd/mmap.c: Likewise.
* sysdeps/generic/mmap.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise.
* sysdeps/mach/munmap.c: Likewise.
* sysdeps/generic/munmap.c: Likewise.
* sysdeps/mach/mprotect.c: Likewise.
* sysdeps/generic/mprotect.c: Likewise.
* sysdeps/generic/msync.c: Likewise.
* sysdeps/generic/madvise.c: Likewise.

* sysdeps/unix/sysv/linux/madvise.c: Include stub version from generic
subdir.

1997-10-12 20:27 Zack Weinberg <zack@rabi.phys.columbia.edu>

* sysdeps/stub (all files): Moved to sysdeps/generic.
* all files using stub_warning: Include <stub-tag.h>.
* include/stub-tag.h: New file, marks stubs in .d files.
* Makerules: Look for stub-tag.h, not sysdeps/stub, when building
<gnu/stubs.h>.
* configure.in: Don't add sysdeps/stub to $sysnames.
* sysdeps/unix/Makefile: Look for generic headers, not stub
headers.
* sysdeps/generic/Makefile: Likewise.
* manual/maint.texi: Delete references to sysdeps/stub.
* INSTALL: Rebuilt.
* configure: Rebuilt.

1997-10-13 03:14 Ulrich Drepper <drepper@cygnus.com>

* libc.map: Move _IO_fopen, fopen, _IO_stdin_, _IO_stdout_,
Expand Down
187 changes: 144 additions & 43 deletions INSTALL
Expand Up @@ -21,28 +21,19 @@ the chosen configuration before proceeding.
Here are some options that you should specify (if appropriate) when
you run `configure':

`--with-gnu-ld'
Use this option if you plan to use GNU `ld' to link programs with
the GNU C Library. (We strongly recommend that you do.) This
option enables use of features that exist only in GNU `ld'; so if
you configure for GNU `ld' you must use GNU `ld' *every time* you
link with the GNU C Library, and when building it.

`--with-gnu-as'
Use this option if you plan to use the GNU assembler, `gas', when
building the GNU C Library. On some systems, the library may not
build properly if you do *not* use `gas'.

`--with-gnu-binutils'
This option implies both `--with-gnu-ld' and `--with-gnu-as'. On
systems where GNU tools are the system tools, there is no need to
specify this option. These include GNU, GNU/Linux, and free BSD
systems.
`--with-binutils=DIRECTORY'
Use the binutils (assembler and linker) in `DIRECTORY', not the
ones the C compiler would default to. You could use this option if
the default binutils on your system cannot deal with all the
constructs in the GNU C library. (`configure' will detect the
problem and suppress these constructs, so the library will still
be usable, but functionality may be lost--for example, you can not
build a shared libc with old binutils.)

`--without-fp'
`--nfp'
Use this option if your computer lacks hardware floating-point
support.
support and your operating system does not emulate an FPU.

`--prefix=DIRECTORY'
Install machine-independent data files in subdirectories of
Expand Down Expand Up @@ -112,7 +103,7 @@ and define in that file the parameters you want to specify.
`configparms' should *not* be an edited copy of `Makeconfig'; specify
only the parameters that you want to override. To see how to set these
parameters, find the section of `Makeconfig' that says "These are the
configuration variables." Then for each parameter that you want to
configuration variables." Then for each parameter that you want to
change, copy the definition from `Makeconfig' to your new `configparms'
file, and change the value as appropriate for your system.

Expand Down Expand Up @@ -218,6 +209,7 @@ following patterns:
iX86-ANYTHING-linux
m68k-ANYTHING-linux
powerpc-ANYTHING-linux
sparc64-ANYTHING-linux

Former releases of this library (version 1.09.1 and perhaps earlier
versions) used to run on the following configurations:
Expand Down Expand Up @@ -443,27 +435,36 @@ and `unix/Implies' contains:

So the final list is `unix/bsd/vax unix/bsd unix/inet unix posix'.

`sysdeps' has two "special" subdirectories, called `generic' and
`stub'. These two are always implicitly appended to the list of
subdirectories (in that order), so you needn't put them in an `Implies'
file, and you should not create any subdirectories under them intended
to be new specific categories. `generic' is for things that can be
implemented in machine-independent C, using only other
machine-independent functions in the C library. `stub' is for "stub"
versions of functions which cannot be implemented on a particular
machine or operating system. The stub functions always return an
`sysdeps' has a "special" subdirectory called `generic'. It is
always implicitly appended to the list of subdirectories, so you
needn't put it in an `Implies' file, and you should not create any
subdirectories under it intended to be new specific categories.
`generic' serves two purposes. First, the makefiles do not bother to
look for a system-dependent version of a file that's not in `generic'.
This means that any system-dependent source file must have an analogue
in `generic', even if the routines defined by that file are not
implemented on other platforms. Second. the `generic' version of a
system-dependent file is used if the makefiles do not find a version
specific to the system you're compiling for.

If it is possible to implement the routines in a `generic' file in
machine-independent C, using only other machine-independent functions in
the C library, then you should do so. Otherwise, make them stubs. A
"stub" function is a function which cannot be implemented on a
particular machine or operating system. Stub functions always return an
error, and set `errno' to `ENOSYS' (Function not implemented). *Note
Error Reporting::.

A source file is known to be system-dependent by its having a
version in `generic' or `stub'; every generally-available function whose
implementation is system-dependent in should have either a generic or
stub implementation (there is no point in having both). Some rare
functions are only useful on specific systems and aren't defined at all
on others; these do not appear anywhere in the system-independent
source code or makefiles (including the `generic' and `stub'
directories), only in the system-dependent `Makefile' in the specific
system's subdirectory.
Error Reporting::. If you define a stub function, you must place the
statement `stub_warning(FUNCTION)', where FUNCTION is the name of your
function, after its definition; also, you must include the file
`<stub-tag.h>' into your file. This causes the function to be listed
in the installed `<gnu/stubs.h>', and makes GNU ld warn when the
function is used.

Some rare functions are only useful on specific systems and aren't
defined at all on others; these do not appear anywhere in the
system-independent source code or makefiles (including the `generic'
and `stub' directories), only in the system-dependent `Makefile' in the
specific system's subdirectory.

If you come across a file that is in one of the main source
directories (`string', `stdio', etc.), and you want to write a machine-
Expand Down Expand Up @@ -640,10 +641,8 @@ machine should go in `sysdeps/MACHINE/fpu'.
hierarchy that are not for particular machine architectures.

`generic'
`stub'
As described above (*note Porting::.), these are the two
subdirectories that every configuration implicitly uses after all
others.
As described above (*note Porting::.), this is the subdirectory
that every configuration implicitly uses after all others.

`ieee754'
This directory is for code using the IEEE 754 floating-point
Expand Down Expand Up @@ -971,3 +970,105 @@ parts of the library were contributed or worked on by other people.
extensions that they make and grant Carnegie Mellon the
rights to redistribute these changes.

* The code for the database library `libdb' comes from the 2.3
release of Berkeley DB. That code is under the same copyright as
4.4 BSD and also:

Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997
Sleepycat Software. All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:

1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.

2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.

3. Redistributions in any form must be accompanied by
information on how to obtain complete source code for
the DB software and any accompanying software that uses
the DB software. The source code must either be
included in the distribution or be available for no more
than the cost of distribution plus a nominal fee, and
must be freely redistributable under reasonable
conditions. For an executable file, complete source
code means the source code for all modules it contains.
It does not mean source code for modules or files that
typically accompany the operating system on which the
executable file runs, e.g., standard library modules or
system header files.

THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
SLEEPYCAT SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

Portions copyright (C) 1995, 1996
The President and Fellows of Harvard University.
All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.

2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.

3. All advertising materials mentioning features or use of
this software must display the following acknowledgement:
This product includes software developed by
Harvard University and its contributors.

4. Neither the name of the University nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission.

THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.

For a license to use, redistribute or sell DB software under
conditions other than those described above, or to purchase
support for this software, please contact Sleepycat Software
at

Sleepycat Software
394 E. Riding Dr.
Carlisle, MA 01741
USA
+1-508-287-4781

or <db@sleepycat.com>.


9 changes: 5 additions & 4 deletions Makerules
Expand Up @@ -896,18 +896,19 @@ common-clean: common-mostlyclean

# Produce a file `stub-$(subdir)' which contains `#define __stub_FUNCTION'
# for each function which is a stub. We grovel over all the .d files
# looking for references to source files in sysdeps/stub. Then we grovel
# over each referenced source file to see what stub function it defines.
# looking for references to <stub-tag.h>. Then we grovel over each
# referenced source file to see what stub function it defines.

.PHONY: stubs # The parent Makefile calls this target.
stubs: $(common-objpfx)stub-$(subdir)
s = $(sysdep_dir)/stub
s = $(sysdep_dir)/generic
$(common-objpfx)stub-$(subdir): $(+depfiles)
# Use /dev/null since `...` might expand to empty.
(s=`cd $s; /bin/pwd`; \
$(patsubst %/,cd %;,$(objpfx)) \
sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \
`sed -n 's@^.*$s/\([a-z0-9_-]*\.c\).*$$@'"$$s"/'\1@p' \
`sed -n -e '\@: $s@{; s@^.*: $s/\([a-z0-9_./-]*\.c\).*$$@'"$$s"'/\1@; h; }' \
-e '/stub-tag\.h/{; g; p; }' \
$(patsubst $(objpfx)%,%,$^) /dev/null` \
/dev/null) > $@T
mv -f $@T $@
Expand Down
21 changes: 15 additions & 6 deletions Rules
Expand Up @@ -59,12 +59,6 @@ ifneq "$(findstring env,$(origin common-generated))" ""
common-generated :=
endif

ifeq "$(strip $(headers))" ""
ifneq "$(wildcard $(subdir).h)" ""
override headers := $(subdir).h
endif
endif

include ../Makerules

.PHONY: subdir_lib
Expand Down Expand Up @@ -173,3 +167,18 @@ $(static-only-routines:%=$(objpfx)%.os): %.os: $(common-objpfx)empty.os
$(common-objpfx)empty.os: $(common-objpfx)empty.c $(before-compile)
$(compile-command.c)
endif

ifdef shared-only-routines
# If we have versioned code we don't need the old versions in any of the
# static libraries.
define o-iterator-doit
$(shared-only-routines:%=$(objpfx)%.$o): %.$o: $(common-objpfx)empty.$o
rm -f $$@
ln $$< $$@

$(common-objpfx)empty.$o: $(common-objpfx)empty.c $(before-compile)
$$(compile-command.c)
endef
object-suffixes-left := $(filter-out .os,$(object-suffixes))
include $(o-iterator)
endif
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion catgets/gencat.c
Expand Up @@ -220,7 +220,7 @@ more_help (int key, const char *text, void *input)
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
return strdup (gettext ("\
Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"));
Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"));
default:
break;
}
Expand Down

0 comments on commit f2ea0f5

Please sign in to comment.