glibc/elf/Makefile
Ulrich Drepper f0f1bf8536 update from main archive 960911
Thu Sep 12 03:35:27 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.
	* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
	* sysdeps/unix/sysv/linux/Dist: Add init-first.h.

1996-09-11  Paul Eggert  <eggert@twinsun.com>

	* strftime.c (strftime):
	Handle E and O modifiers, required for POSIX.2 and XPG4.
	Don't use sprintf to format numbers; this way, we can handle time_t
	correctly regardless of whether it's signed.
	Don't dump core if format ends in %.
	In default %c format, use %e instead of %d, for POSIX.2 compatibility.
	For %z:
		Use tm_gmtoff if available.
		Output nothing if tm_isdst is negative.
		Output correct value even if arg is 1969-12-31 23:59:59 UTC.
		Don't assume that UTC offset is less than 24 hours;
		Posix requires support for 24 hours, and there's no point
		limiting it at all.
	(HAVE_TM_GMTOFF, TYPE_SIGNED, INT_STRLEN_BOUND): New macros.
	(CHAR_BIT): Define if <limits.h> doesn't.
	(tm_diff): New function.
	(fmt, <stdio.h>): Remove; no longer used.

Thu Sep 12 02:21:44 1996  Ulrich Drepper  <drepper@cygnus.com>

	* db/Makefile: Add extra-libs-others variable so that shared
	library is built in `others' pass.
	* elf/Makefile: Likewise.
	* math/Makefile: Likewise.
	* resolv/Makefile: Likewise.

	* Makefile (generated): Add version.info.h.

	* time/checktab.awk: New file.  From ADO 96k.
	* time/iso3166.tab: Likewise.
	* time/tzselect.ksh: Likewise.
	* time/zone.tab: Likewise.

	* stdio-common/vfprintf.c: Correct cleanup registration.  We
	cannot use a macro

1996-09-11  Paul Eggert  <eggert@twinsun.com>

	* time/time.h (tm_gmtoff, tm_zone): Prefix with `__' unless
	__USE_BSD; this is required for ANSI C compatibility.
	* manual/time.texi: Replace GMT by UTC, daylight savings by
 	daylight saving, timezone by time zone.
	Rewrite description of %V to match ISO 8601.
	Fix TZ Posix string example for US Eastern time.
	Explain tzname[1] when DST isn't used.
	Explain tzname when multiple abbreviations used (e.g. EST/EWT/EDT).
	Explain that timezone's sign is opposite from tm_gmtoff, and that
	timezone lacks DST adjustment whereas tm_gmtoff has it.
	Deprecate tzname and timezone.

Tue Sep 10 14:46:16 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	Implement Roland McGrath's idea of how to put an .interp into
	shared libraries.
	* interp.c: New file.
	* Makerules (interp-obj): New object, linked into every shared
	library.
	(common-generated): Add interp.so.
	(CFLAGS-interp.c): Pass name of interpreter.

Tue Sep 10 21:09:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* db/Makefile: Fix typo.

Tue Sep 10 19:29:53 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* nss/db-Makefile ($(VAR_DB)/passwd.db): Look for multiple
	occurences of the same uid, and only generate a mapping for the
	first one.

Tue Sep 10 03:14:59 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/system.c: New file, to override
	sysdeps/unix/system.c.

Tue Sep 10 15:05:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (before-compile): Add version-info.h, needed to build
	version.d.

Tue Sep 10 14:14:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Remove check for
	EWOULDBLOCK, never true on Linux.
	(__errno_location): New function.
	[_LIBC_REENTRANT]: Set errno using __errno_location function.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h [PIC]: Add second
 	syscall_error handler for reentrant libc.

Tue Sep 10 13:27:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/Makefile (extra-objs): Add eval.so to get dependencies.

Wed Sep 11 04:40:57 1996  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzset.c (__tzname_cur_max): Use type `size_t' to avoid
 	warning.
	* time/tzfile.c (compute_tzname_max): Likewise.
1996-09-12 02:51:03 +00:00

111 lines
3.7 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Makefile for elf subdirectory of GNU C Library.
# Copyright (C) 1995, 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.
subdir := elf
headers = elf.h elfclass.h link.h dlfcn.h
routines = $(dl-routines) dl-open dl-close dl-symbol dl-support \
enbl-secure
# The core dynamic linking functions are in libc for the static and
# profiled libraries.
dl-routines = $(addprefix dl-,load cache lookup object reloc deps \
runtime error init fini debug)
# But they are absent from the shared libc, because that code is in ld.so.
elide-routines.so = $(dl-routines) dl-support enbl-secure
# ld.so uses those routines, plus some special stuff for being the program
# interpreter and operating independent of libc.
rtld-routines := rtld $(dl-routines) dl-sysdep dl-minimal
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
soinit.c sofini.c ldd.sh.in eval.c
extra-libs = libdl
extra-libs-others = $(extra-libs)
libdl-routines := dlopen dlclose dlsym dlerror dladdr
all: # Make this the default target; it will be defined in Rules.
include ../Makeconfig
ifeq (yes,$(build-shared))
extra-objs = $(rtld-routines:=.so) soinit.so sofini.so eval.so
generated = librtld.so dl-allobjs.so
install-others = $(slibdir)/$(rtld-installed-name)
install-bin = ldd
endif
include ../Rules
ifeq (yes, $(build-shared))
# Make sure these things are built in the `make lib' pass so they can be used
# to run programs during the `make others' pass.
lib-noranlib: $(objpfx)$(rtld-installed-name) \
$(addprefix $(objpfx),$(extra-objs))
endif
# Command to link into a larger single relocatable object.
reloc-link = $(LINK.o) -nostdlib -nostartfiles -r -o $@
$(objpfx)dl-allobjs.so: $(rtld-routines:%=$(objpfx)%.so)
$(reloc-link) $^
# Link together the dynamic linker into a single relocatable object.
$(objpfx)librtld.so: $(objpfx)dl-allobjs.so $(common-objpfx)libc_pic.a
$(reloc-link) '-Wl,-(' $^ -lgcc '-Wl,-)'
$(objpfx)ld.so: $(objpfx)librtld.so
$(rtld-link) -Wl,-soname=$(rtld-installed-name)
define rtld-link
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
-Wl,-rpath=$(default-rpath) $^
endef
# The dl code in the static libc needs a default library path.
CFLAGS-dl-support.c = -D'DEFAULT_RPATH="$(default-rpath)"'
ifneq (ld.so, $(rtld-installed-name))
# Make sure ld-gnu.so.1 exists in the build directory so we can link
# against it.
$(objpfx)$(rtld-installed-name): $(objpfx)ld.so
rm -f $@
ln -s $(<F) $@
endif
# Specify the dependencies of libdl.so; its commands come from the generic
# rule to build a shared library.
$(objpfx)libdl.so: $(objpfx)libdl_pic.a $(common-objpfx)libc.so $(objpfx)ld.so
$(slibdir)/$(rtld-installed-name): $(objpfx)ld.so; $(do-install-program)
$(objpfx)ldd: ldd.sh.in Makefile
sed 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' < $< > $@.new
chmod 555 $@.new
mv -f $@.new $@
# muwahaha
LDFLAGS-dl.so = -Wl,-dynamic-linker,$(slibdir)/$(rtld-installed-name)
$(objpfx)libdl.so: $(objpfx)eval.so