summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-10-11 03:34:46 +0000
committerRoland McGrath <roland@gnu.org>1995-10-11 03:34:46 +0000
commit8e3cc80f6d4f69ce003c82d3561ac324692792ad (patch)
tree46dcca133fd8477dee761d12ae692fda7cfd9ff3
parentb122c7038e826eeabbc0118612b988c1a0f5b991 (diff)
downloadglibc-8e3cc80f6d4f69ce003c82d3561ac324692792ad.tar.gz
Tue Oct 10 23:08:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (build-shlib): Pass -rpath and -rpath-link options. (LDFLAGS-c.so): Don't pass -dynamic-linker here. * Makeconfig (+link): Pass $(sysdep-LDFLAGS). (link-libc): Pass -rpath and -rpath-link options. * MakeTAGS (all-dirs): Omit CVS directories. Specify vpath directives to find source files in $(all-dirs). (sources, headers): Append sources and headers from $(all-dist) to these. (all-dist): Filter them out of this. (all-headers, all-sources): Use $(shell find ...) instead of $(wildcard ...). * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass -rpath-link. * hurd/hurdexec.c: Pass poly and dealloc args to __file_exec. * elf/Makefile (install-others): Add missing $. * mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
-rw-r--r--ChangeLog24
-rw-r--r--MakeTAGS31
-rw-r--r--Makeconfig12
-rw-r--r--Makerules8
-rw-r--r--elf/Makefile2
-rw-r--r--gmon/.cvsignore5
-rw-r--r--hurd/hurdexec.c14
-rw-r--r--intl/.cvsignore5
-rw-r--r--mach/Makefile2
-rw-r--r--posix/regex.c2
-rw-r--r--sysdeps/mach/hurd/Makefile1
-rw-r--r--sysvipc/.cvsignore5
12 files changed, 80 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index b6935c1fa5..a9547c4097 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,29 @@
+Tue Oct 10 23:08:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makerules (build-shlib): Pass -rpath and -rpath-link options.
+ (LDFLAGS-c.so): Don't pass -dynamic-linker here.
+ * Makeconfig (+link): Pass $(sysdep-LDFLAGS).
+ (link-libc): Pass -rpath and -rpath-link options.
+
+ * MakeTAGS (all-dirs): Omit CVS directories.
+ Specify vpath directives to find source files in $(all-dirs).
+ (sources, headers): Append sources and headers from $(all-dist) to
+ these.
+ (all-dist): Filter them out of this.
+ (all-headers, all-sources): Use $(shell find ...) instead of
+ $(wildcard ...).
+
+ * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass
+ -rpath-link.
+
+ * hurd/hurdexec.c: Pass poly and dealloc args to __file_exec.
+
+ * elf/Makefile (install-others): Add missing $.
+
Mon Oct 9 02:54:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+ * mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
+
* Makeconfig (config-LDFLAGS): Define to
-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
(rtld-installed-name): New variable.
diff --git a/MakeTAGS b/MakeTAGS
index 29dfc47f01..96dc59e587 100644
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -43,7 +43,8 @@ sysdep-dirs := $(addprefix $(sysdep_dir)/,$(sysdirs))
ifndef sysdep_dirs
# Find all sysdep directories.
-sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name RCS -print)
+sysdep_dirs := $(shell find $(..)sysdeps -type d \
+ ! -name RCS ! -name CVS -print)
endif
# Find all sysdep dirs there are, but putting the ones
@@ -53,6 +54,11 @@ all-dirs := $(objdir) \
$(source_dirs) \
$(filter-out $(sysdep-dirs),$(sysdep_dirs))
+vpath %.h $(all-dirs)
+vpath %.c $(all-dirs)
+vpath %.S $(all-dirs)
+vpath %.s $(all-dirs)
+
# Find all the subdirs there are, but putting the ones
# we are configured to use first and preserving their order.
ifndef subdir
@@ -71,18 +77,21 @@ else
all-dist = $(distribute)
endif
+sources += $(filter %.c %.s %.S,$(all-dist))
+headers += $(filter %.h,$(all-dist))
+all-dist := $(filter-out %.h %.c %.s %.S,$(all-dist))
+
# All different versions of $(sources), preserving the configured sysdep
# directory order.
-all-sources = $(wildcard $(foreach file,$(sources),\
- $(file) \
- $(foreach dir,$(all-dirs),\
- $(dir)/$(file) \
- $(dir)/$(file:.c=.S) \
- $(dir)/$(file:.c=.s))))
-
-all-headers = $(wildcard $(foreach file,$(headers),\
- $(file) \
- $(foreach dir,$(all-dirs),$(dir)/$(file))))
+all-sources = $(shell find $(all-dirs) -maxdepth 1 \( -name fnord \
+ $(foreach file,$(sort $(sources) $(sources:.c=.S) \
+ $(sources:.c=.s)),\
+ -o -name $(file)) \
+ \) -print)
+
+all-headers = $(shell find $(all-dirs) -maxdepth 1 \( -name fnord \
+ $(foreach file,$(headers),-o -name $(file)) \
+ \) -print)
tags_sources := $(strip $(tags_sources))
diff --git a/Makeconfig b/Makeconfig
index e0ec754883..25740cb097 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -267,10 +267,11 @@ endif
# Command for linking programs with the C library.
ifndef +link
-+link = $(CC) -nostdlib -nostartfiles $(config-LDFLAGS) $(LDFLAGS) -o $@ \
- $(addprefix $(csu-objpfx),start.o $(+preinit)) \
- $(^:$(common-objpfx)libc.a=$(link-libc)) \
- $(addprefix $(csu-objpfx),$(+postinit))
++link = $(CC) -nostdlib -nostartfiles -o $@ \
+ $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) \
+ $(addprefix $(csu-objpfx),start.o $(+preinit)) \
+ $(^:$(common-objpfx)libc.a=$(link-libc)) \
+ $(addprefix $(csu-objpfx),$(+postinit))
endif
ifndef config-LDFLAGS
ifeq (yes,$(build-shared))
@@ -279,7 +280,8 @@ endif
endif
ifndef link-libc
ifeq (yes,$(build-shared))
-link-libc = -L$(common-objdir) -lc $(gnulib)
+link-libc = -Wl,-rpath-link=$(common-objdir) -Wl,-rpath=$(libdir) \
+ $(common-objpfx)libc.so $(gnulib)
else
link-libc = $(common-objpfx)libc.a $(gnulib) $(common-objpfx)libc.a
endif
diff --git a/Makerules b/Makerules
index 1899eb7f89..56f8cc89e6 100644
--- a/Makerules
+++ b/Makerules
@@ -553,10 +553,10 @@ ifeq (yes,$(build-shared))
lib%.so: lib%_pic.a; $(build-shlib)
define build-shlib
-$(LINK.o) -shared -o $@ -Wl,-soname \
- -Wl,lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
+$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+ -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
- -L$(firstword $(objdir) .) -L$(common-objpfx:%/=%) \
+ -Wl,-rpath-link=$(common-objdir) -Wl,-rpath=$(libdir) \
-Wl,--whole-archive $^ $(LDLIBS-$(@F:lib%.so=%).so)
endef
@@ -565,7 +565,7 @@ endef
# since we define our own `.init' section specially.
LDFLAGS-c.so = -nostdlib -nostartfiles
# Give libc.so an entry point and make it directly runnable itself.
-LDFLAGS-c.so += -Wl,-dynamic-linker -Wl,/lib/ld.so -e __libc_print_version
+LDFLAGS-c.so += -e __libc_print_version
# Use our own special initializer and finalizer files for libc.so.
elfobjdir := $(firstword $(objdir) $(..)elf)
$(common-objpfx)libc.so: $(elfobjdir)/soinit.so \
diff --git a/elf/Makefile b/elf/Makefile
index 203406d805..45c2cfe854 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -37,7 +37,7 @@ include ../Makeconfig
ifeq (yes,$(build-shared))
extra-objs = $(rtld-routines:=.so) soinit.so sofini.so
-install-others = $(libdir)(rtld-installed-name)
+install-others = $(libdir)$(rtld-installed-name)
install-bin = ldd
endif
diff --git a/gmon/.cvsignore b/gmon/.cvsignore
new file mode 100644
index 0000000000..c8367a7367
--- /dev/null
+++ b/gmon/.cvsignore
@@ -0,0 +1,5 @@
+*.gz *.Z *.tar *.tgz
+=*
+TODO COPYING* AUTHORS copyr-* copying.*
+glibc-*
+distinfo
diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c
index e18107b9a7..2f38679ff2 100644
--- a/hurd/hurdexec.c
+++ b/hurd/hurdexec.c
@@ -217,14 +217,14 @@ _hurd_exec (task_t task, file_t file,
*pdp++ = dtable[i];
}
- err = __file_exec (file, task,
+ err = __file_exec (file, task, MACH_MSG_TYPE_COPY_SEND,
_hurd_exec_flags & EXEC_INHERITED,
- args, argslen, env, envlen,
- dtable, MACH_MSG_TYPE_COPY_SEND, dtablesize,
- ports, MACH_MSG_TYPE_COPY_SEND, _hurd_nports,
- ints, INIT_INT_MAX,
- please_dealloc, pdp - please_dealloc,
- NULL, 0);
+ args, argslen, 0, env, envlen, 0,
+ dtable, MACH_MSG_TYPE_COPY_SEND, dtablesize, 0,
+ ports, MACH_MSG_TYPE_COPY_SEND, _hurd_nports, 0,
+ ints, INIT_INT_MAX, 0,
+ please_dealloc, pdp - please_dealloc, 0,
+ NULL, 0, 0);
}
/* Release references to the standard ports. */
diff --git a/intl/.cvsignore b/intl/.cvsignore
new file mode 100644
index 0000000000..c8367a7367
--- /dev/null
+++ b/intl/.cvsignore
@@ -0,0 +1,5 @@
+*.gz *.Z *.tar *.tgz
+=*
+TODO COPYING* AUTHORS copyr-* copying.*
+glibc-*
+distinfo
diff --git a/mach/Makefile b/mach/Makefile
index 4595628e8a..bfabc33185 100644
--- a/mach/Makefile
+++ b/mach/Makefile
@@ -184,7 +184,6 @@ endif
# Be sure not to make these with implicit rules from foo.defs.
mach.h mach/memory_object.h: ;
-ifneq (,)
# A gcc bug prevents the generated file from working properly,
# so we have one in the distribution for the time being.
generated += errsystems.c
@@ -192,4 +191,3 @@ $(objpfx)errsystems.c: errsystems.awk err_*.sub \
$(wildcard $(addsuffix /err_*.sub,$(+sysdep_dirs)))
gawk -v subsys='$(filter-out $<,$^)' -f $^ > $@.n
mv $@.n $@
-endif
diff --git a/posix/regex.c b/posix/regex.c
index 8b936065a5..0fd1833cc7 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -4365,7 +4365,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
for that group and all inner ones, so that if we fail back
to this point, the group's information will be correct.
For example, in \(a*\)*\1, we need the preceding group,
- and in \(\(a*\)b*\)\2, we need the inner group. */
+ and in \(zz\(a*\)b*\)\2, we need the inner group. */
/* We can't use `p' to check ahead because we push
a failure point to `p + mcnt' after we do this. */
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index a5825ff142..c650f5f392 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -131,6 +131,7 @@ endif
# For the shared library, we don't need to do the linker script machination.
# Instead, we specify the required libraries when building the shared object.
LDLIBS-c.so = -lmachuser -lhurduser
+sysdep-LDFLAGS += -Wl,-rpath-link=$(..)mach:$(..)hurd
endif # in-Makerules
diff --git a/sysvipc/.cvsignore b/sysvipc/.cvsignore
new file mode 100644
index 0000000000..c8367a7367
--- /dev/null
+++ b/sysvipc/.cvsignore
@@ -0,0 +1,5 @@
+*.gz *.Z *.tar *.tgz
+=*
+TODO COPYING* AUTHORS copyr-* copying.*
+glibc-*
+distinfo