Sat Dec 16 10:33:11 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
authorRoland McGrath <roland@gnu.org>
Sun, 17 Dec 1995 10:00:23 +0000 (10:00 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 17 Dec 1995 10:00:23 +0000 (10:00 +0000)
* Makerules: Use $(do-install-so) for installing shared objects.
(do-install-so): New canned sequence.  Make a symlink LIB.so after
installing LIB.so.VERSION.

* inet/netinet/in.h: Fixed typo in IPPORT_WHOIS.

ChangeLog
Makerules
posix/regex.c

index d09be84..7a67fc7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Dec 16 10:33:11 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+       * Makerules: Use $(do-install-so) for installing shared objects.
+       (do-install-so): New canned sequence.  Make a symlink LIB.so after
+       installing LIB.so.VERSION.
+
+       * inet/netinet/in.h: Fixed typo in IPPORT_WHOIS.
+
 Fri Dec 15 04:41:22 1995  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
 
        * stdio-common/Makefile (tests): Add bug10.
index 32dacce..530b1ac 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -482,14 +482,21 @@ install-lib-nosubdir: $(foreach so,$(install-lib.so),\
 
 install: $(slibdir)/libc.so$(libc.so-version)
 $(slibdir)/lib$(libprefix)c.so$(libc.so-version): $(common-objpfx)libc.so
-       $(do-install-program)
+       $(do-install-so)
+
+define do-install-so
+$(do-install-program)
+$(patsubst %,ln -s -f $(@F) $(@D)/$(patsubst %$*.so,%,$(<F))$(libprefix)$*.so,\
+          $(filter-out %.so,$@))
+endef
 
-$(foreach v,$(sort $(foreach so,$(install-lib.so),.so$($(so)-version))),\
+so-versions := $(sort $(foreach so,$(install-lib.so),.so$($(so)-version)))
+$(foreach v,$(so-versions),\
          $(libdir)/lib$(libprefix)%$v): $(common-objpfx)lib%.so
-       $(do-install-program)
-$(foreach v,$(sort $(foreach so,$(install-lib.so),.so$($(so)-version))),\
+       $(do-install-so)
+$(foreach v,$(so-versions),\
          $(libdir)/$(libprefix)%$v): $(common-objpfx)%.so
-       $(do-install-program)
+       $(do-install-so)
 endif
 
 ifdef install-bin
index b4d87ed..ee066b5 100644 (file)
@@ -3448,12 +3448,14 @@ static boolean alt_match_null_string_p (),
            : (d) == string2 - 1 ? *(end1 - 1) : *(d))                  \
    == Sword)
 
+/* Disabled due to a compiler bug -- see comment at case wordbound */
+#if 0
 /* Test if the character before D and the one at D differ with respect
    to being word-constituent.  */
 #define AT_WORD_BOUNDARY(d)                                            \
   (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)                            \
    || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
-
+#endif
 
 /* Free everything we malloc.  */
 #ifdef MATCH_MAY_ALLOCATE
@@ -4677,17 +4679,54 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
             break;
           }
 
-        case wordbound:
-          DEBUG_PRINT1 ("EXECUTING wordbound.\n");
-          if (AT_WORD_BOUNDARY (d))
+#if 0
+       /* The DEC Alpha C compiler 3.x generates incorrect code for the
+          test  WORDCHAR_P (d - 1) != WORDCHAR_P (d)  in the expansion of
+          AT_WORD_BOUNDARY, so this code is disabled.  Expanding the
+          macro and introducing temporary variables works around the bug.  */
+
+       case wordbound:
+         DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+         if (AT_WORD_BOUNDARY (d))
            break;
-          goto fail;
+         goto fail;
 
        case notwordbound:
-          DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+         DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
          if (AT_WORD_BOUNDARY (d))
            goto fail;
-          break;
+         break;
+#else
+       case wordbound:
+       {
+         boolean prevchar, thischar;
+
+         DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+         if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
+           break;
+
+         prevchar = WORDCHAR_P (d - 1);
+         thischar = WORDCHAR_P (d);
+         if (prevchar != thischar)
+           break;
+         goto fail;
+       }
+
+      case notwordbound:
+       {
+         boolean prevchar, thischar;
+
+         DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+         if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
+           goto fail;
+
+         prevchar = WORDCHAR_P (d - 1);
+         thischar = WORDCHAR_P (d);
+         if (prevchar != thischar)
+           goto fail;
+         break;
+       }
+#endif
 
        case wordbeg:
           DEBUG_PRINT1 ("EXECUTING wordbeg.\n");