about summary refs log tree commit diff
diff options
context:
space:
mode:
-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