xref: /titanic_50/usr/src/lib/libshell/misc/ERRATA.txt (revision da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968)
1*da2e3ebdSchin#
2*da2e3ebdSchin# CDDL HEADER START
3*da2e3ebdSchin#
4*da2e3ebdSchin# The contents of this file are subject to the terms of the
5*da2e3ebdSchin# Common Development and Distribution License (the "License").
6*da2e3ebdSchin# You may not use this file except in compliance with the License.
7*da2e3ebdSchin#
8*da2e3ebdSchin# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*da2e3ebdSchin# or http://www.opensolaris.org/os/licensing.
10*da2e3ebdSchin# See the License for the specific language governing permissions
11*da2e3ebdSchin# and limitations under the License.
12*da2e3ebdSchin#
13*da2e3ebdSchin# When distributing Covered Code, include this CDDL HEADER in each
14*da2e3ebdSchin# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*da2e3ebdSchin# If applicable, add the following below this CDDL HEADER, with the
16*da2e3ebdSchin# fields enclosed by brackets "[]" replaced with your own identifying
17*da2e3ebdSchin# information: Portions Copyright [yyyy] [name of copyright owner]
18*da2e3ebdSchin#
19*da2e3ebdSchin# CDDL HEADER END
20*da2e3ebdSchin#
21*da2e3ebdSchin# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
22*da2e3ebdSchin# Use is subject to license terms.
23*da2e3ebdSchin#
24*da2e3ebdSchin# ident	"%Z%%M%	%I%	%E% SMI"
25*da2e3ebdSchin#
26*da2e3ebdSchin
27*da2e3ebdSchin#
28*da2e3ebdSchin# ERRATA.txt
29*da2e3ebdSchin#
30*da2e3ebdSchin# Errata/problems/notes about problems in the current sources
31*da2e3ebdSchin#
32*da2e3ebdSchin
33*da2e3ebdSchin######## Errata #001: ########
34*da2e3ebdSchinSome constants which are larger than 2^32 seem to
35*da2e3ebdSchinrequire either "LL" or "ULL" as suffix to get the build compiling - at least in
36*da2e3ebdSchinOS/Net with it's very strict build flags the problem is that worse that I had
37*da2e3ebdSchinto use "-Wno-error" in usr/src/lib/libast/Makefile.com for the gcc build to get
38*da2e3ebdSchinit compiling:
39*da2e3ebdSchin-- snip --
40*da2e3ebdSchinpics/$(MACH)/src/lib/libast/conftab.o   := CERRWARN +=
41*da2e3ebdSchin-erroff=E_C99_INTEGER_PROMOTION
42*da2e3ebdSchinpics/$(MACH)/src/lib/libast/conftab.o \
43*da2e3ebdSchinpics/$(MACH64)/src/lib/libast/conftab.o := CERRWARN +=
44*da2e3ebdSchin-erroff=E_INTEGRAL_CONSTANT_TOO_LARGE
45*da2e3ebdSchinpics/$(MACH)/src/lib/libast/conftab.o \
46*da2e3ebdSchinpics/$(MACH64)/src/lib/libast/conftab.o := CERRWARN +=
47*da2e3ebdSchin-erroff=E_INTEGER_OVERFLOW_DETECTED
48*da2e3ebdSchinpics/$(MACH)/src/lib/libast/conftab.o \
49*da2e3ebdSchinpics/$(MACH64)/src/lib/libast/conftab.o := CERRWARN += -_gcc=-Wno-error
50*da2e3ebdSchinpics/common/hash/
51*da2e3ebdSchin-- snip --
52*da2e3ebdSchin
53*da2e3ebdSchinThe following diff has been used to (temporarily work around the problem:
54*da2e3ebdSchin-- snip --
55*da2e3ebdSchinIndex: src/lib/libast/sparcv9/src/lib/libast/conftab.c
56*da2e3ebdSchin===================================================================
57*da2e3ebdSchin--- src/lib/libast/sparcv9/src/lib/libast/conftab.c	(revision 664)
58*da2e3ebdSchin+++ src/lib/libast/sparcv9/src/lib/libast/conftab.c	(working copy)
59*da2e3ebdSchin@@ -220,8 +220,8 @@
60*da2e3ebdSchin { "LFS_LINTFLAGS", { 0, 0 }, { 0, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_STRING, CONF_POSIX, 1, CONF_confstr, _CS_LFS_LINTFLAGS },
61*da2e3ebdSchin { "LINE_MAX", { 0, 0 }, { _POSIX2_LINE_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_NOSECTION|CONF_MINMAX_DEF, CONF_POSIX, 2, CONF_sysconf, _SC_LINE_MAX },
62*da2e3ebdSchin { "LINK_MAX", { 0, 0 }, { _POSIX_LINK_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_pathconf, _PC_LINK_MAX },
63*da2e3ebdSchin-{ "LLONG_MAX", { 9223372036854775807, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
64*da2e3ebdSchin-{ "LLONG_MIN", { -9223372036854775808, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
65*da2e3ebdSchin+{ "LLONG_MAX", { 9223372036854775807LL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
66*da2e3ebdSchin+{ "LLONG_MIN", { (-9223372036854775807LL-1LL), 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
67*da2e3ebdSchin { "LOCALEDEF", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_LOCALEDEF },
68*da2e3ebdSchin { "LOGIN_NAME_MAX", { 0, 0 }, { _POSIX_LOGIN_NAME_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_sysconf, _SC_LOGIN_NAME_MAX },
69*da2e3ebdSchin { "LOGNAME_MAX", { 0, 0 }, { 8, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, _SC_LOGNAME_MAX },
70*da2e3ebdSchin@@ -407,7 +407,7 @@
71*da2e3ebdSchin { "UID_MAX", { 0, 0 }, { 60002, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, -1 },
72*da2e3ebdSchin { "UINT_MAX", { 0, 0 }, { 0, 0 }, CONF_LIMIT, CONF_C, 1, CONF_nop, -1 },
73*da2e3ebdSchin { "UIO_MAXIOV", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1 },
74*da2e3ebdSchin-{ "ULLONG_MAX", { 18446744073709551615, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
75*da2e3ebdSchin+{ "ULLONG_MAX", { 18446744073709551615ULL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
76*da2e3ebdSchin { "ULONG_MAX", { 4294967295, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
77*da2e3ebdSchin { "UNIX", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_STANDARD|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_XOPEN, 1, CONF_sysconf, _SC_XOPEN_UNIX },
78*da2e3ebdSchin { "UPE", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_UPE },
79*da2e3ebdSchinIndex: src/lib/libast/sparc/src/lib/libast/conftab.c
80*da2e3ebdSchin===================================================================
81*da2e3ebdSchin--- src/lib/libast/sparc/src/lib/libast/conftab.c	(revision 664)
82*da2e3ebdSchin+++ src/lib/libast/sparc/src/lib/libast/conftab.c	(working copy)
83*da2e3ebdSchin@@ -220,8 +220,8 @@
84*da2e3ebdSchin { "LFS_LINTFLAGS", { 0, 0 }, { 0, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_STRING, CONF_POSIX, 1, CONF_confstr, _CS_LFS_LINTFLAGS },
85*da2e3ebdSchin { "LINE_MAX", { 0, 0 }, { _POSIX2_LINE_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_NOSECTION|CONF_MINMAX_DEF, CONF_POSIX, 2, CONF_sysconf, _SC_LINE_MAX },
86*da2e3ebdSchin { "LINK_MAX", { 0, 0 }, { _POSIX_LINK_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_pathconf, _PC_LINK_MAX },
87*da2e3ebdSchin-{ "LLONG_MAX", { 9223372036854775807, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
88*da2e3ebdSchin-{ "LLONG_MIN", { -9223372036854775808, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
89*da2e3ebdSchin+{ "LLONG_MAX", { 9223372036854775807LL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
90*da2e3ebdSchin+{ "LLONG_MIN", { (-9223372036854775807LL-1LL), 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
91*da2e3ebdSchin { "LOCALEDEF", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_LOCALEDEF },
92*da2e3ebdSchin { "LOGIN_NAME_MAX", { 0, 0 }, { _POSIX_LOGIN_NAME_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_sysconf, _SC_LOGIN_NAME_MAX },
93*da2e3ebdSchin { "LOGNAME_MAX", { 0, 0 }, { 8, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, _SC_LOGNAME_MAX },
94*da2e3ebdSchin@@ -407,7 +407,7 @@
95*da2e3ebdSchin { "UID_MAX", { 0, 0 }, { 60002, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, -1 },
96*da2e3ebdSchin { "UINT_MAX", { 0, 0 }, { 0, 0 }, CONF_LIMIT, CONF_C, 1, CONF_nop, -1 },
97*da2e3ebdSchin { "UIO_MAXIOV", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1 },
98*da2e3ebdSchin-{ "ULLONG_MAX", { 18446744073709551615, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
99*da2e3ebdSchin+{ "ULLONG_MAX", { 18446744073709551615ULL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
100*da2e3ebdSchin { "ULONG_MAX", { 4294967295, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
101*da2e3ebdSchin { "UNIX", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_STANDARD|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_XOPEN, 1, CONF_sysconf, _SC_XOPEN_UNIX },
102*da2e3ebdSchin { "UPE", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_UPE },
103*da2e3ebdSchinIndex: src/lib/libast/i386/src/lib/libast/conftab.c
104*da2e3ebdSchin===================================================================
105*da2e3ebdSchin--- src/lib/libast/i386/src/lib/libast/conftab.c	(revision 664)
106*da2e3ebdSchin+++ src/lib/libast/i386/src/lib/libast/conftab.c	(working copy)
107*da2e3ebdSchin@@ -220,8 +220,8 @@
108*da2e3ebdSchin { "LFS_LINTFLAGS", { 0, 0 }, { 0, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_STRING, CONF_POSIX, 1, CONF_confstr, _CS_LFS_LINTFLAGS },
109*da2e3ebdSchin { "LINE_MAX", { 0, 0 }, { _POSIX2_LINE_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_NOSECTION|CONF_MINMAX_DEF, CONF_POSIX, 2, CONF_sysconf, _SC_LINE_MAX },
110*da2e3ebdSchin { "LINK_MAX", { 0, 0 }, { _POSIX_LINK_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_pathconf, _PC_LINK_MAX },
111*da2e3ebdSchin-{ "LLONG_MAX", { 9223372036854775807, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
112*da2e3ebdSchin-{ "LLONG_MIN", { -9223372036854775808, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
113*da2e3ebdSchin+{ "LLONG_MAX", { 9223372036854775807LL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
114*da2e3ebdSchin+{ "LLONG_MIN", { (-9223372036854775807LL-1LL), 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
115*da2e3ebdSchin { "LOCALEDEF", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_LOCALEDEF },
116*da2e3ebdSchin { "LOGIN_NAME_MAX", { 0, 0 }, { _POSIX_LOGIN_NAME_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_sysconf, _SC_LOGIN_NAME_MAX },
117*da2e3ebdSchin { "LOGNAME_MAX", { 0, 0 }, { 8, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, _SC_LOGNAME_MAX },
118*da2e3ebdSchin@@ -407,7 +407,7 @@
119*da2e3ebdSchin { "UID_MAX", { 0, 0 }, { 60002, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, -1 },
120*da2e3ebdSchin { "UINT_MAX", { 0, 0 }, { 0, 0 }, CONF_LIMIT, CONF_C, 1, CONF_nop, -1 },
121*da2e3ebdSchin { "UIO_MAXIOV", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1 },
122*da2e3ebdSchin-{ "ULLONG_MAX", { 18446744073709551615, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
123*da2e3ebdSchin+{ "ULLONG_MAX", { 18446744073709551615ULL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
124*da2e3ebdSchin { "ULONG_MAX", { 4294967295, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
125*da2e3ebdSchin { "UNIX", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_STANDARD|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_XOPEN, 1, CONF_sysconf, _SC_XOPEN_UNIX },
126*da2e3ebdSchin { "UPE", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_UPE },
127*da2e3ebdSchinIndex: src/lib/libast/Makefile.com
128*da2e3ebdSchin===================================================================
129*da2e3ebdSchin--- src/lib/libast/Makefile.com	(revision 664)
130*da2e3ebdSchin+++ src/lib/libast/Makefile.com	(working copy)
131*da2e3ebdSchin@@ -706,11 +706,7 @@
132*da2e3ebdSchin CERRWARN += -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED
133*da2e3ebdSchin pics/$(MACH)/src/lib/libast/conftab.o	:= CERRWARN += -erroff=E_C99_INTEGER_PROMOTION
134*da2e3ebdSchin pics/$(MACH)/src/lib/libast/conftab.o \
135*da2e3ebdSchin-pics/$(MACH64)/src/lib/libast/conftab.o	:= CERRWARN += -erroff=E_INTEGRAL_CONSTANT_TOO_LARGE
136*da2e3ebdSchin-pics/$(MACH)/src/lib/libast/conftab.o \
137*da2e3ebdSchin-pics/$(MACH64)/src/lib/libast/conftab.o	:= CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
138*da2e3ebdSchin-pics/$(MACH)/src/lib/libast/conftab.o \
139*da2e3ebdSchin-pics/$(MACH64)/src/lib/libast/conftab.o	:= CERRWARN += -_gcc=-Wno-error
140*da2e3ebdSchin+pics/$(MACH64)/src/lib/libast/conftab.o	:= CERRWARN += -erroff=E_INIT_DOES_NOT_FIT
141*da2e3ebdSchin pics/common/hash/hashlook.o		:= CERRWARN += -erroff=E_CONST_PROMOTED_UNSIGNED_LONG
142*da2e3ebdSchin pics/common/hash/memhash.o		:= CERRWARN += -erroff=E_CONST_PROMOTED_UNSIGNED_LONG
143*da2e3ebdSchin pics/common/hash/memsum.o		:= CERRWARN += -erroff=E_CONST_PROMOTED_UNSIGNED_LONG
144*da2e3ebdSchinIndex: src/lib/libast/amd64/src/lib/libast/conftab.c
145*da2e3ebdSchin===================================================================
146*da2e3ebdSchin--- src/lib/libast/amd64/src/lib/libast/conftab.c	(revision 664)
147*da2e3ebdSchin+++ src/lib/libast/amd64/src/lib/libast/conftab.c	(working copy)
148*da2e3ebdSchin@@ -220,8 +220,8 @@
149*da2e3ebdSchin { "LFS_LINTFLAGS", { 0, 0 }, { 0, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_STRING, CONF_POSIX, 1, CONF_confstr, _CS_LFS_LINTFLAGS },
150*da2e3ebdSchin { "LINE_MAX", { 0, 0 }, { _POSIX2_LINE_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_NOSECTION|CONF_MINMAX_DEF, CONF_POSIX, 2, CONF_sysconf, _SC_LINE_MAX },
151*da2e3ebdSchin { "LINK_MAX", { 0, 0 }, { _POSIX_LINK_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_pathconf, _PC_LINK_MAX },
152*da2e3ebdSchin-{ "LLONG_MAX", { 9223372036854775807, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
153*da2e3ebdSchin-{ "LLONG_MIN", { -9223372036854775808, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
154*da2e3ebdSchin+{ "LLONG_MAX", { 9223372036854775807LL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
155*da2e3ebdSchin+{ "LLONG_MIN", { (-9223372036854775807LL-1LL), 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
156*da2e3ebdSchin { "LOCALEDEF", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_LOCALEDEF },
157*da2e3ebdSchin { "LOGIN_NAME_MAX", { 0, 0 }, { _POSIX_LOGIN_NAME_MAX, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_POSIX, 1, CONF_sysconf, _SC_LOGIN_NAME_MAX },
158*da2e3ebdSchin { "LOGNAME_MAX", { 0, 0 }, { 8, 0 }, CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, _SC_LOGNAME_MAX },
159*da2e3ebdSchin@@ -407,7 +407,7 @@
160*da2e3ebdSchin { "UID_MAX", { 0, 0 }, { 60002, 0 }, CONF_LIMIT|CONF_MINMAX|CONF_UNDERSCORE|CONF_MINMAX_DEF, CONF_SVID, 1, CONF_sysconf, -1 },
161*da2e3ebdSchin { "UINT_MAX", { 0, 0 }, { 0, 0 }, CONF_LIMIT, CONF_C, 1, CONF_nop, -1 },
162*da2e3ebdSchin { "UIO_MAXIOV", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1 },
163*da2e3ebdSchin-{ "ULLONG_MAX", { 18446744073709551615, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
164*da2e3ebdSchin+{ "ULLONG_MAX", { 18446744073709551615ULL, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
165*da2e3ebdSchin { "ULONG_MAX", { 4294967295, 0 }, { 0, 0 }, CONF_LIMIT|CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1 },
166*da2e3ebdSchin { "UNIX", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_STANDARD|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_XOPEN, 1, CONF_sysconf, _SC_XOPEN_UNIX },
167*da2e3ebdSchin { "UPE", { 0, 0 }, { 0, 0 }, CONF_FEATURE|CONF_UNDERSCORE|CONF_PREFIX_ONLY, CONF_POSIX, 2, CONF_sysconf, _SC_2_UPE },
168*da2e3ebdSchin-- snip --
169*da2e3ebdSchin
170*da2e3ebdSchinThis change works around the problems in the generated "conftab.c" ; I'll file a patch against
171*da2e3ebdSchin"libast/common/comp/conf.sh" later to fix the problem in the upstream sources...
172*da2e3ebdSchin
173*da2e3ebdSchin######## Errata #002: ########
174*da2e3ebdSchinA change to usr/src/lib/libcmd/common/date.c has been applied to prevent
175*da2e3ebdSchinthe string literals (backslashes added to prevent expansion) "%M\%" and "%Y\%"
176*da2e3ebdSchinfrom being expanded by the SCCS version control software:
177*da2e3ebdSchin
178*da2e3ebdSchin-- snip --
179*da2e3ebdSchinIndex: src/lib/libcmd/common/date.c
180*da2e3ebdSchin===================================================================
181*da2e3ebdSchin--- src/lib/libcmd/common/date.c	(revision 694)
182*da2e3ebdSchin+++ src/lib/libcmd/common/date.c	(working copy)
183*da2e3ebdSchin@@ -222,13 +222,13 @@
184*da2e3ebdSchin                *argv++ = s;
185*da2e3ebdSchin                if (streq(astconf("UNIVERSE", NiL, NiL), "att"))
186*da2e3ebdSchin                {
187*da2e3ebdSchin-                       tmxfmt(buf, sizeof(buf), "%m%d%H" "%M%Y.%S", now);
188*da2e3ebdSchin+                       tmxfmt(buf, sizeof(buf), "%m%d%H" "%M" "%Y.%S", now);
189*da2e3ebdSchin                        if (adjust)
190*da2e3ebdSchin                                *argv++ = "-a";
191*da2e3ebdSchin                }
192*da2e3ebdSchin                else
193*da2e3ebdSchin                {
194*da2e3ebdSchin-                       tmxfmt(buf, sizeof(buf), "%Y%m%d%H" "%M.%S", now);
195*da2e3ebdSchin+                       tmxfmt(buf, sizeof(buf), "%Y" "%m%d%H" "%M.%S", now);
196*da2e3ebdSchin                        if (network)
197*da2e3ebdSchin                                *argv++ = "-n";
198*da2e3ebdSchin                        if (tm_info.flags & TM_UTC)
199*da2e3ebdSchin-- snip --
200*da2e3ebdSchin
201*da2e3ebdSchin
202*da2e3ebdSchin######## Errata #003: ########
203*da2e3ebdSchinA change to usr/src/lib/libshell/common/sh/jobs.c has been applied to handle
204*da2e3ebdSchina memory corruption condition caused by a call to |_ast_malloc()| from within
205*da2e3ebdSchina signal handler.
206*da2e3ebdSchin-- snip --
207*da2e3ebdSchinIndex: src/lib/libshell/common/sh/jobs.c
208*da2e3ebdSchin===================================================================
209*da2e3ebdSchin--- src/lib/libshell/common/sh/jobs.c	(revision 743)
210*da2e3ebdSchin+++ src/lib/libshell/common/sh/jobs.c	(working copy)
211*da2e3ebdSchin@@ -43,6 +24,8 @@
212*da2e3ebdSchin #   define WIFCONTINUED(wstat)	(0)
213*da2e3ebdSchin #endif
214*da2e3ebdSchin
215*da2e3ebdSchin+#define	NJOB_SAVELIST	4
216*da2e3ebdSchin+
217*da2e3ebdSchin /*
218*da2e3ebdSchin  * temporary hack to get W* macros to work
219*da2e3ebdSchin  */
220*da2e3ebdSchin@@ -59,13 +42,35 @@
221*da2e3ebdSchin 	unsigned short	exitval;
222*da2e3ebdSchin };
223*da2e3ebdSchin
224*da2e3ebdSchin+static struct jobsave *job_savelist;
225*da2e3ebdSchin+static int njob_savelist;
226*da2e3ebdSchin+
227*da2e3ebdSchin+static void init_savelist(void)
228*da2e3ebdSchin+{
229*da2e3ebdSchin+	register struct jobsave *jp;
230*da2e3ebdSchin+	while(njob_savelist < NJOB_SAVELIST)
231*da2e3ebdSchin+	{
232*da2e3ebdSchin+		jp = newof(0,struct jobsave,1,0);
233*da2e3ebdSchin+		jp->next = job_savelist;
234*da2e3ebdSchin+		job_savelist = jp;
235*da2e3ebdSchin+		njob_savelist++;
236*da2e3ebdSchin+	}
237*da2e3ebdSchin+}
238*da2e3ebdSchin+
239*da2e3ebdSchin /*
240*da2e3ebdSchin  * return next on link list of jobsave free list
241*da2e3ebdSchin  */
242*da2e3ebdSchin static struct jobsave *jobsave_create(pid_t pid)
243*da2e3ebdSchin {
244*da2e3ebdSchin-	struct jobsave *jp;
245*da2e3ebdSchin-	if(jp = newof(0,struct jobsave,1,0))
246*da2e3ebdSchin+	register struct jobsave *jp = job_savelist;
247*da2e3ebdSchin+	if(jp)
248*da2e3ebdSchin+	{
249*da2e3ebdSchin+		njob_savelist--;
250*da2e3ebdSchin+		job_savelist = jp->next;
251*da2e3ebdSchin+	}
252*da2e3ebdSchin+	else
253*da2e3ebdSchin+		jp = newof(0,struct jobsave,1,0);
254*da2e3ebdSchin+	if(jp)
255*da2e3ebdSchin 		jp->pid = pid;
256*da2e3ebdSchin 	return(jp);
257*da2e3ebdSchin }
258*da2e3ebdSchin@@ -372,6 +377,8 @@
259*da2e3ebdSchin #   if defined(SIGCLD) && (SIGCLD!=SIGCHLD)
260*da2e3ebdSchin 	signal(SIGCLD,job_waitsafe);
261*da2e3ebdSchin #   endif
262*da2e3ebdSchin+	if(njob_savelist < NJOB_SAVELIST)
263*da2e3ebdSchin+		init_savelist();
264*da2e3ebdSchin 	if(!sh_isoption(SH_INTERACTIVE))
265*da2e3ebdSchin 		return;
266*da2e3ebdSchin 	/* use new line discipline when available */
267*da2e3ebdSchin@@ -994,6 +1001,8 @@
268*da2e3ebdSchin 		free((void*)jp);
269*da2e3ebdSchin 	}
270*da2e3ebdSchin 	bck.list = 0;
271*da2e3ebdSchin+	if(njob_savelist < NJOB_SAVELIST)
272*da2e3ebdSchin+		init_savelist();
273*da2e3ebdSchin 	job.pwlist = NIL(struct process*);
274*da2e3ebdSchin 	job.numpost=0;
275*da2e3ebdSchin 	job.waitall = 0;
276*da2e3ebdSchin@@ -1016,6 +1025,8 @@
277*da2e3ebdSchin 	register struct process *pw;
278*da2e3ebdSchin 	register History_t *hp = sh.hist_ptr;
279*da2e3ebdSchin 	sh.jobenv = sh.curenv;
280*da2e3ebdSchin+	if(njob_savelist < NJOB_SAVELIST)
281*da2e3ebdSchin+		init_savelist();
282*da2e3ebdSchin 	if(job.toclear)
283*da2e3ebdSchin 	{
284*da2e3ebdSchin 		job_clear();
285*da2e3ebdSchin@@ -1274,8 +1285,14 @@
286*da2e3ebdSchin 							px->p_flag &= ~P_EXITSAVE;
287*da2e3ebdSchin 					}
288*da2e3ebdSchin 				}
289*da2e3ebdSchin-				if(!(px=job_unpost(pw,1)) || !job.waitall)
290*da2e3ebdSchin+				if(!job.waitall)
291*da2e3ebdSchin+				{
292*da2e3ebdSchin+					if(!sh_isoption(SH_PIPEFAIL))
293*da2e3ebdSchin+						job_unpost(pw,1);
294*da2e3ebdSchin 					break;
295*da2e3ebdSchin+				}
296*da2e3ebdSchin+				else if(!(px=job_unpost(pw,1)))
297*da2e3ebdSchin+					break;
298*da2e3ebdSchin 				pw = px;
299*da2e3ebdSchin 				continue;
300*da2e3ebdSchin 			}
301*da2e3ebdSchin@@ -1313,6 +1330,8 @@
302*da2e3ebdSchin 	else
303*da2e3ebdSchin 		tty_set(-1, 0, NIL(struct termios*));
304*da2e3ebdSchin done:
305*da2e3ebdSchin+	if(!job.waitall && sh_isoption(SH_PIPEFAIL))
306*da2e3ebdSchin+		return;
307*da2e3ebdSchin 	if(!sh.intrap)
308*da2e3ebdSchin 	{
309*da2e3ebdSchin 		job_lock();
310*da2e3ebdSchin@@ -1594,7 +1613,14 @@
311*da2e3ebdSchin 		else
312*da2e3ebdSchin 			bck.list = jp->next;
313*da2e3ebdSchin 		bck.count--;
314*da2e3ebdSchin-		free((void*)jp);
315*da2e3ebdSchin+		if(njob_savelist < NJOB_SAVELIST)
316*da2e3ebdSchin+		{
317*da2e3ebdSchin+			njob_savelist++;
318*da2e3ebdSchin+			jp->next = job_savelist;
319*da2e3ebdSchin+			job_savelist = jp;
320*da2e3ebdSchin+		}
321*da2e3ebdSchin+		else
322*da2e3ebdSchin+			free((void*)jp);
323*da2e3ebdSchin 	}
324*da2e3ebdSchin 	return(r);
325*da2e3ebdSchin }
326*da2e3ebdSchin-- snip --
327*da2e3ebdSchin# EOF.
328