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