about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--Makeconfig2
-rw-r--r--posix/regex.c21
-rw-r--r--sysdeps/unix/Makefile7
-rw-r--r--sysdeps/unix/sysv/linux/Dist2
-rw-r--r--sysdeps/unix/sysv/linux/Makefile7
-rw-r--r--time/northamerica16
7 files changed, 50 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 00a896a349..eab1958af5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 Wed Oct  4 00:21:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+	* sysdeps/unix/Makefile ($(common-objpfx)ioctls): Remove NULL from
+	the list.
+
+	* time/northamerica: Corrections to Canada data from ADO 95i.
+
+	* sysdeps/unix/sysv/linux/Makefile (headers): Don't append to this
+	unconditionally.  In socket subdir, append sys/socketcall.h; in
+	time subdir, append sys/timex.h.
+	(config-LDFLAGS): New variable.
+	* sysdeps/unix/sysv/linux/Dist: New file.
+	* Makeconfig (+link): Pass $(config-LDFLAGS) before $(LDFLAGS).
+
 	* sysdeps/generic/stpncpy.c: Don't increment DEST when zero-filling.
 
 	* elf/dlopen.c (dlopen): Don't pass USER_ENTRY arg to _dl_map_object.
diff --git a/Makeconfig b/Makeconfig
index 9533b776cb..5dd6d544d0 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -267,7 +267,7 @@ endif
 
 # Command for linking programs with the C library.
 ifndef +link
-+link = $(CC) -nostdlib -nostartfiles $(LDFLAGS) -o $@ \
++link = $(CC) -nostdlib -nostartfiles $(config-LDFLAGS) $(LDFLAGS) -o $@ \
 	$(addprefix $(csu-objpfx),start.o $(+preinit)) \
 	$(^:$(common-objpfx)libc.a=$(link-libc)) \
 	$(addprefix $(csu-objpfx),$(+postinit))
diff --git a/posix/regex.c b/posix/regex.c
index db0ebc23a5..8b936065a5 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -1157,7 +1157,7 @@ typedef struct
     /* Push the info, starting with the registers.  */			\
     DEBUG_PRINT1 ("\n");						\
 									\
-    if (!RE_NO_POSIX_BACKTRACKING & bufp->syntax)			\
+    if (!(RE_NO_POSIX_BACKTRACKING & bufp->syntax))			\
       for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; \
 	   this_reg++)							\
 	{								\
@@ -1279,7 +1279,7 @@ typedef struct
   low_reg = (unsigned) POP_FAILURE_INT ();				\
   DEBUG_PRINT2 ("  Popping  low active reg: %d\n", low_reg);		\
 									\
-  if (!RE_NO_POSIX_BACKTRACKING & bufp->syntax)				\
+  if (!(RE_NO_POSIX_BACKTRACKING & bufp->syntax))			\
     for (this_reg = high_reg; this_reg >= low_reg; this_reg--)		\
       {									\
 	DEBUG_PRINT2 ("    Popping reg: %d\n", this_reg);		\
@@ -1293,6 +1293,16 @@ typedef struct
 	regstart[this_reg] = (const char *) POP_FAILURE_POINTER ();	\
 	DEBUG_PRINT2 ("      start: 0x%x\n", regstart[this_reg]);	\
       }									\
+  else									\
+    {									\
+      for (this_reg = highest_active_reg; this_reg > high_reg; this_reg--) \
+	{								\
+	  reg_info[this_reg].word = 0;					\
+	  regend[this_reg] = 0;						\
+	  regstart[this_reg] = 0;					\
+	}								\
+      highest_active_reg = high_reg;					\
+    }									\
 									\
   set_regs_matched_done = 0;						\
   DEBUG_STATEMENT (nfailure_points_popped++);				\
@@ -3263,9 +3273,10 @@ re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
     return -1;
     
   /* Fix up RANGE if it might eventually take us outside
-     the virtual concatenation of STRING1 and STRING2.  */
-  if (endpos < -1)
-    range = -1 - startpos;
+     the virtual concatenation of STRING1 and STRING2.
+     Make sure we won't move STARTPOS below 0 or above TOTAL_SIZE.  */ 
+  if (endpos < 0)
+    range = 0 - startpos;
   else if (endpos > total_size)
     range = total_size - startpos;
 
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 6bc0f5a1d0..66a7363b95 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1992, 1993, 1994, 1995 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
@@ -197,8 +197,9 @@ endif
 $(common-objpfx)ioctls: $(sysdep_dir)/unix/snarf-ioctls \
 			$(sysincludedir)/sys/ioctl.h $(ioctl-includes)
 	$(dir $<)$(notdir $<) $(filter-out $<,$^) \
-	| fgrep -xv "`$(dir $<)$(notdir $<) $(termbits.h) \
-					    $(..)termios/sys/ttydefaults.h \
+	| fgrep -xv "`($(dir $<)$(notdir $<) $(termbits.h) \
+					     $(..)termios/sys/ttydefaults.h; \
+		      echo NULL) \
 		     | sort | uniq`" \
 	| sort | uniq | tr '\012' ' ' > $@-tmp
 	mv $@-tmp $@
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
new file mode 100644
index 0000000000..db5ff9596a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -0,0 +1,2 @@
+sys/socketcall.h
+sys/timex.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 702ad047a3..6e1dd8ccb2 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -12,10 +12,15 @@ endif
 
 ifeq ($(subdir), time)
 sysdep_routines := $(sysdep_routines) adjtimex
+headers += sys/timex.h
 endif
 
 ifeq ($(subdir), sysvipc)
 sysdep_routines := $(sysdep_routines) ipc
 endif
 
-headers := $(headers) sys/socketcall.h sys/timex.h
+ifeq ($(subdir), socket)
+headers += sys/socketcall.h 
+endif
+
+config-LDFLAGS = -Wl,-dynamic-linker=/lib/ld-gnu.so.1
diff --git a/time/northamerica b/time/northamerica
index 036fdc6dfc..bb9b414a29 100644
--- a/time/northamerica
+++ b/time/northamerica
@@ -1,4 +1,4 @@
-# @(#)northamerica	7.16
+# @(#)northamerica	7.17
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -464,21 +464,23 @@ Rule	Winn	1916	only	-	Sep	17	0:00	0	S
 Rule	Winn	1918	only	-	Apr	14	2:00	1:00	D
 Rule	Winn	1918	only	-	Oct	31	2:00	0	S
 Rule	Winn	1937	only	-	May	16	2:00	1:00	D
-Rule	Winn	1937	only	-	Sep	23	2:00	0	S
+Rule	Winn	1937	only	-	Sep	26	2:00	0	S
 Rule	Winn	1942	only	-	Feb	 9	2:00	1:00	D
 Rule	Winn	1945	only	-	Sep	lastSun	2:00	0	S
 Rule	Winn	1946	only	-	May	12	2:00	1:00	D
 Rule	Winn	1946	only	-	Oct	13	2:00	0	S
 Rule	Winn	1947	1949	-	Apr	lastSun	2:00	1:00	D
-Rule	Winn	1947	1958	-	Sep	lastSun	2:00	0	S
-Rule	Winn	1948	only	-	May	 1	2:00	1:00	D
-Rule	Winn	1948	1960	-	Apr	lastSun	2:00	1:00	D
+Rule	Winn	1947	1949	-	Sep	lastSun	2:00	0	S
+Rule	Winn	1950	only	-	May	 1	2:00	1:00	D
+Rule	Winn	1950	only	-	Sep	30	2:00	0	S
+Rule	Winn	1951	1960	-	Apr	lastSun	2:00	1:00	D
+Rule	Winn	1951	1958	-	Sep	lastSun	2:00	0	S
 Rule	Winn	1959	only	-	Oct	lastSun	2:00	0	S
 Rule	Winn	1960	only	-	Sep	lastSun	2:00	0	S
 Rule	Winn	1963	only	-	Apr	lastSun	2:00	1:00	D
-Rule	Winn	1963	only	-	Sep	lastSun	2:00	0	S
+Rule	Winn	1963	only	-	Sep	22	2:00	0	S
 Rule	Winn	1966	1986	-	Apr	lastSun	2:00	1:00	D
-Rule	Winn	1966	max	-	Sep	lastSun	2:00	0	S
+Rule	Winn	1966	max	-	Oct	lastSun	2:00	0	S
 Rule	Winn	1987	max	-	Apr	Sun>=1	2:00	1:00	D
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Winnipeg	-6:28:36 -	LMT	1887 Jul 16