aboutsummaryrefslogtreecommitdiff
path: root/shells/ksh93
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2019-08-04 17:42:39 +0000
committerCy Schubert <cy@FreeBSD.org>2019-08-04 17:42:39 +0000
commit19090335fdb992a965f00bfceab7a75c86cc366e (patch)
treecd446bf2926e044849329e18ee7a5063f3394871 /shells/ksh93
parent2439819ae3e59bc31c559fd4e00741fc7eb5299d (diff)
downloadports-19090335fdb992a965f00bfceab7a75c86cc366e.tar.gz
ports-19090335fdb992a965f00bfceab7a75c86cc366e.zip
Fix build with GCC-based architectures.
PR: 239644 Submitted by: pkubaj@ MFH: 2019Q3
Notes
Notes: svn path=/head/; revision=508117
Diffstat (limited to 'shells/ksh93')
-rw-r--r--shells/ksh93/Makefile2
-rw-r--r--shells/ksh93/files/patch-scripts__libast____prereq.sh33
-rw-r--r--shells/ksh93/files/patch-scripts__sort____symbols.py37
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__comp__conf.sh1346
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__comp__conf.tab490
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__comp__conftab.c1875
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__comp__conftab.c.in42
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__comp__conftab.h.in80
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__include__conftab.h92
-rw-r--r--shells/ksh93/files/patch-src__lib__libast__meson.build13
10 files changed, 4009 insertions, 1 deletions
diff --git a/shells/ksh93/Makefile b/shells/ksh93/Makefile
index 4b2bc545f076..89a60d099913 100644
--- a/shells/ksh93/Makefile
+++ b/shells/ksh93/Makefile
@@ -3,7 +3,7 @@
PORTNAME= ksh93
DISTVERSION=2020.0.0-alpha1
PORTEPOCH= 1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= shells
MAINTAINER= cy@freebsd.org
diff --git a/shells/ksh93/files/patch-scripts__libast____prereq.sh b/shells/ksh93/files/patch-scripts__libast____prereq.sh
new file mode 100644
index 000000000000..59ee1ca5b6cc
--- /dev/null
+++ b/shells/ksh93/files/patch-scripts__libast____prereq.sh
@@ -0,0 +1,33 @@
+--- files/patch-scripts_libast__prereq.sh.orig 2019-08-04 16:51:09 UTC
++++ files/patch-scripts_libast__prereq.sh
+@@ -0,0 +1,30 @@
++--- scripts/libast_prereq.sh.orig 2019-08-04 11:56:35 UTC
+++++ scripts/libast_prereq.sh
++@@ -10,7 +10,6 @@
++ #
++ set -e
++ bin_dir="$MESON_SOURCE_ROOT/bin"
++-comp_dir="$MESON_SOURCE_ROOT/src/lib/libast/comp"
++ PATH=$bin_dir:$PATH
++ INC_DIRS=""
++ INC_DIRS="$INC_DIRS -I$MESON_BUILD_ROOT"
++@@ -24,19 +23,6 @@ then
++ fi
++
++ cd "$MESON_BUILD_ROOT"
++-
++-if cc --version | grep -q "GCC"
++-then
++- gcc_major_version=$(cc -dumpversion | cut -d. -f1)
++- if [ "$gcc_major_version" -ge 9 ]
++- then
++- extra_flags="-fno-diagnostics-show-line-numbers"
++- fi
++-fi
++-
++-# Generate the conftab.[ch] source files.
++-# shellcheck disable=SC2086
++-"$comp_dir/conf.sh" $CC -std=gnu99 -D_BLD_DLL $INC_DIRS $extra_flags
++
++ # Generate header files whose content depends on the current platform.
++ "$MESON_SOURCE_ROOT/scripts/siglist.sh" > features/siglist.h
diff --git a/shells/ksh93/files/patch-scripts__sort____symbols.py b/shells/ksh93/files/patch-scripts__sort____symbols.py
new file mode 100644
index 000000000000..265757feaa4e
--- /dev/null
+++ b/shells/ksh93/files/patch-scripts__sort____symbols.py
@@ -0,0 +1,37 @@
+--- files/patch-scripts_sort__symbols.py.orig 2019-08-04 16:51:09 UTC
++++ files/patch-scripts_sort__symbols.py
+@@ -0,0 +1,34 @@
++--- scripts/sort_symbols.py.orig 2019-04-16 20:04:19 UTC
+++++ scripts/sort_symbols.py
++@@ -1,31 +0,0 @@
++-# This replaces the following pipeline in the original .../libast/comp.conf.sh
++-# script. We're now using a python program not for efficiency but because we
++-# need to sort the strings from longest to shortest to work around a bug with
++-# the macOS `fgrep -x -v` behavior.
++-#
++-# sed "s/[^_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789][^_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]*/${snl}/g" $tmp.e |
++-# grep '^[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz][_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]*$' |
++-# sort -u > $tmp.n
++-#
++-from __future__ import print_function # in case we're being run by python2
++-import re
++-import sys
++-
++-
++-def sort_key(k):
++- return (len(k), k)
++-
++-
++-# Capture all the lines consisting solely of single tokens that are valid
++-# C symbols.
++-lines = []
++-for line in sys.stdin:
++- m = re.match(r'^\s*(\w+),$', line)
++- if m:
++- lines.append(m.group(1))
++-
++-# Sort by line length then lexicographically for lines of the same length.
++-lines.sort(key=sort_key, reverse=True)
++-
++-for line in lines:
++- print(line)
diff --git a/shells/ksh93/files/patch-src__lib__libast__comp__conf.sh b/shells/ksh93/files/patch-src__lib__libast__comp__conf.sh
new file mode 100644
index 000000000000..20e2ccbf5571
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__comp__conf.sh
@@ -0,0 +1,1346 @@
+--- files/patch-src_lib_libast_comp_conf.sh.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_comp_conf.sh
+@@ -0,0 +1,1343 @@
++--- src/lib/libast/comp/conf.sh.orig 2019-04-16 20:04:19 UTC
+++++ src/lib/libast/comp/conf.sh
++@@ -1,1340 +0,0 @@
++-#!/bin/sh
++-########################################################################
++-# #
++-# This software is part of the ast package #
++-# Copyright (c) 1985-2013 AT&T Intellectual Property #
++-# and is licensed under the #
++-# Eclipse Public License, Version 1.0 #
++-# by AT&T Intellectual Property #
++-# #
++-# A copy of the License is available at #
++-# http://www.eclipse.org/org/documents/epl-v10.html #
++-# (with md5 checksum b35adb5213ca9657e911e9befb180842) #
++-# #
++-# Information and Software Systems Research #
++-# AT&T Research #
++-# Florham Park NJ #
++-# #
++-# Glenn Fowler <glenn.s.fowler@gmail.com> #
++-# David Korn <dgkorn@gmail.com> #
++-# Phong Vo <phongvo@gmail.com> #
++-# #
++-########################################################################
++-#
++-# @(#)conf.sh (AT&T Research) 2011-08-26
++-#
++-# This script generates these files from the table file:
++-#
++-# conflim.h supplemental limits.h definitions
++-# conftab.h readonly string table definitions
++-# conftab.c readonly string table data
++-#
++-# You may think it should be simpler but you shall be confused anyway.
++-#
++-export LC_ALL=C
++-
++-command=`basename $0`
++-source_dir="$MESON_SOURCE_ROOT/src/lib/libast/comp"
++-target_dir="$MESON_BUILD_ROOT/src/lib/libast/comp"
++-table=$source_dir/conf.tab
++-test $# -gt 0 || { echo missing expected compiler args >&2; exit 1; }
++-cc=$*
++-
++-PATH="$MESON_SOURCE_ROOT/scripts:$PATH"
++-
++-# The use of `mktemp -dt` isn't ideal as it has slightly different meaning on BSD and GNU. But for
++-# our purposes that doesn't matter. It simply means the temp file name will contain the X's on a BSD
++-# system. See https://github.com/att/ast/issues/939
++-tmpdir=$(mktemp -dt ksh.XXXXXX)
++-tmp=$tmpdir/conf
++-cd $tmpdir || exit
++-trap "rm -rf $tmpdir" EXIT
++-
++-# We need to create the Meson build directory that will contain the
++-# dynamically generated source files.
++-test -d "$target_dir" || mkdir -p "$target_dir"
++-
++-# We don't bother doing this test before creating the temp dir because we
++-# don't expect this to ever fail unless the project source has been damaged.
++-if test ! -f $table
++-then
++- echo "$command: cannot read: $table" >&2
++- exit 1
++-fi
++-
++-# Setting the compiler's error-limit to zero (or a number much larger than the usual default of 20)
++-# is important to the proper functioning of the `defined()` function below. The default limit can,
++-# through pure chance, cause the inner loop of that function to terminate prematurely when it
++-# decides it isn't making forward progress in eliminating symbol errors. This also makes that
++-# process much more efficient. Unfortunately we can't just assume the compiler supports this so
++-# only use the flag if it does. Otherwise hope for the best with the default error limit.
++-cat > $tmp.c <<!
++-int main() { return 1; }
++-!
++-error_limit=''
++-if $cc -ferror-limit=0 $tmp.c
++-then
++- error_limit="-ferror-limit=0"
++-fi
++-
++-append=0
++-extra=0
++-keep_call='*'
++-keep_name='*'
++-
++-# Note that header "config_ast.h" is created during the Meson feature detection phase. And this
++-# script runs after that has completed. That header contains things like the definition of
++-# `_ast_intmax_t` that this script depends upon.
++-head='
++-#include "config_ast.h"
++-
++-#include <stdint.h>
++-#include <stdbool.h>
++-#include <sys/types.h>
++-'
++-
++-tail='
++-#include <sys/param.h>
++-#include <sys/stat.h>
++-'
++-
++-headers=
++-ifs=${IFS}
++-tab=' ' # this should be the only place a literal tab appears in this script
++-nl='
++-'
++-sym=[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_]*
++-
++-# determine the intmax_t printf format
++-
++-cat > $tmp.c <<!
++-${head}
++-
++-int main() {
++-#if _ast_intmax_long
++- return 1;
++-#else
++- return 0;
++-#endif
++-}
++-!
++-
++-if $cc -o $tmp.exe $tmp.c && $tmp.exe
++-then
++- LL_format='ll'
++-else
++- LL_format='l'
++-fi
++-
++-# determine the intmax_t constant suffix
++-
++-cat > $tmp.c <<!
++-${head}
++-
++-int main() {
++-#if _ast_intmax_long
++- return 1;
++-#else
++- _ast_intmax_t s = 0x7fffffffffffffffLL;
++- unsigned _ast_intmax_t u = 0xffffffffffffffffLL;
++-
++- return 0;
++-#endif
++-}
++-!
++-
++-if $cc -o $tmp.exe $tmp.c
++-then
++- if $tmp.exe
++- then
++- LL_suffix='LL'
++- else
++- LL_suffix='L'
++- fi
++-else
++- LL_suffix=''
++-fi
++-
++-# This value was dynamically determined by the legacy IFFE based version of this script. Since we
++-# can now safely assume every platform we run on supports this syntax (e.g., `1U`) just hardcode it
++-# rather than running a compiler test to see if it works.
++-U_suffix='U'
++-
++-# Set up the names and keys.
++-
++-keys=
++-standards=
++-
++-case $append$extra in
++-00)
++- echo "$command: read $table" >&2
++- exec < $table
++- while :
++- do
++- IFS=""
++- read line
++- eof=$?
++- IFS=$ifs
++- case $eof in
++- 0) ;;
++- *) break ;;
++- esac
++- case $line in
++- ""|\#*) ;;
++- *) set x $line
++- shift; name=$1
++- shift; standard=$1
++- shift; call=$1
++- shift; section=$1
++- shift; flags=$1
++- alternates=
++- define=
++- values=
++- script=
++- headers=
++- while :
++- do shift
++- case $# in
++- 0) break ;;
++- esac
++- case $1 in
++- ":") shift
++- eval script='$'script_$1
++- break
++- ;;
++- *"{") case $1 in
++- "sh{") script="# $name" ;;
++- *) script= ;;
++- esac
++- shift
++- args="$*"
++- IFS=""
++- while read line
++- do case $line in
++- "}") break ;;
++- esac
++- script="$script$nl$line"
++- done
++- IFS=$ifs
++- break
++- ;;
++- *.h) # These conf.tab entries are now ignored.
++- # We no longer build or use iffe to detect whether
++- # a given header is available. Too, not doing this
++- # appears to have no material effect on the build.
++- ;;
++- *) values="$values $1"
++- case $1 in
++- $sym) echo "$1" >> $tmp.v ;;
++- esac
++- ;;
++- esac
++- done
++- case " $standards " in
++- *" $standard "*)
++- ;;
++- *) standards="$standards $standard"
++- ;;
++- esac
++- case $name:$flags in
++- *:*S*) ;;
++- VERSION)flags="${flags}S" ;;
++- esac
++- case $name in
++- *VERSION*)key=${standard}${section} ;;
++- *) key= ;;
++- esac
++- case $key in
++- ''|*_) key=${key}${name} ;;
++- *) key=${key}_${name} ;;
++- esac
++- eval sys='$'CONF_call_${key}
++- case $sys in
++- ?*) call=$sys ;;
++- esac
++- case $call in
++- SI) sys=CS ;;
++- *) sys=$call ;;
++- esac
++- key=${sys}_${key}
++- keys="$keys$nl$key"
++- eval CONF_name_${key}='$'name
++- eval CONF_standard_${key}='$'standard
++- eval CONF_call_${key}='$'call
++- eval CONF_section_${key}='$'section
++- eval CONF_flags_${key}='$'flags
++- eval CONF_define_${key}='$'define
++- eval CONF_values_${key}='$'values
++- eval CONF_script_${key}='$'script
++- eval CONF_args_${key}='$'args
++- eval CONF_headers_${key}='$'headers
++- eval CONF_keys_${name}=\"'$'CONF_keys_${name} '$'key\"
++- ;;
++- esac
++- done
++- ;;
++-esac
++-
++-# ====================
++-# Check for native getconf(1).
++-#
++-CONF_getconf=
++-CONF_getconf_a=
++-for d in /usr/bin /bin /usr/sbin /sbin
++-do if test -x $d/getconf
++- then case `$d/getconf --?-version 2>&1` in
++- *"AT&T"*"Research"*)
++- : presumably an implementation also configured from conf.tab
++- ;;
++- *) CONF_getconf=$d/getconf
++- if $CONF_getconf -a >/dev/null 2>&1
++- then CONF_getconf_a=-a
++- fi
++- ;;
++- esac
++- break
++- fi
++-done
++-export CONF_getconf CONF_getconf_a
++-
++-echo "$command: check ${CONF_getconf:+$CONF_getconf(1),}confstr(2),pathconf(2),sysconf(2),sysinfo(2) configuration names" >&2
++-
++-{
++- echo "
++-${head}
++-#include <unistd.h>
++-
++-int i = 0;" > $tmp.c
++- $cc -E $tmp.c
++-} |
++-sed -e '/^#[^0123456789]*1[ '"$tab"']*".*".*/!d' \
++- -e 's/^#[^0123456789]*1[ '"$tab"']*"\(.*\)".*/\1/' |
++-sort -u > $tmp.f
++-
++-{
++- sed -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]/ /g' \
++- -e 's/[ '"$tab"'][ '"$tab"']*/\n/g' \
++- `cat $tmp.f` 2>/dev/null |
++- egrep '^(SI|_(CS|PC|SC|SI))_.'
++- case $CONF_getconf_a in
++- ?*) $CONF_getconf $CONF_getconf_a | sed 's,[=: ].*,,'
++- ;;
++- *) case $CONF_getconf in
++- ?*) for v in `strings $CONF_getconf | grep '^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*$'`
++- do if $CONF_getconf $v >/dev/null
++- then echo $v
++- fi
++- done
++- ;;
++- esac
++- ;;
++- esac 2>/dev/null
++-} |
++-egrep -v '^_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]+_(COUNT|LAST|N|STR)$' |
++-sort -u > $tmp.g
++-{
++- grep '^_' $tmp.g
++- grep '^[^_]' $tmp.g
++-} > $tmp.t
++-mv $tmp.t $tmp.g
++-
++-HOST=`"$MESON_SOURCE_ROOT/bin/hosttype" | sed -e 's,[0123456789.].*,,' | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
++-case $HOST in
++-'') HOST=SYSTEM ;;
++-esac
++-
++-exec < $tmp.g
++-while read line
++-do flags=F
++- section=
++- underscore=
++- define=$line
++- IFS=_
++- set $line
++- IFS=$ifs
++- case $1 in
++- '') case $# in
++- 0) continue ;;
++- esac
++- shift
++- ;;
++- esac
++- case $1 in
++- CS|PC|SC|SI)
++- call=$1
++- shift
++- standard=$1
++- ;;
++- *) flags=${flags}R
++- standard=$1
++- while :
++- do case $# in
++- 0) continue 2 ;;
++- esac
++- shift
++- case $1 in
++- CS|PC|SC|SI)
++- call=$1
++- shift
++- break
++- ;;
++- O|o|OLD|old)
++- continue 2
++- ;;
++- esac
++- standard=${standard}_$1
++- done
++- ;;
++- esac
++- case $1 in
++- SET) continue ;;
++- esac
++- case $standard in
++- _*) standard=`echo $standard | sed 's,^_*,,'` ;;
++- esac
++- case " $standards " in
++- *" $standard "*)
++- ;;
++- *) case $standard in
++- [0123456789]*)
++- section=$standard
++- standard=POSIX
++- ;;
++- *[0123456789])
++- eval `echo $standard | sed 's,\(.*\)\([0123456789]*\),standard=\1 section=\2,'`
++- ;;
++- esac
++- ;;
++- esac
++- case $flags in
++- *R*) case $call in
++- SI) ;;
++- *) underscore=U ;;
++- esac
++- ;;
++- *) case " $standards " in
++- " C ") shift
++- ;;
++- *" $standard "*)
++- case $call in
++- SI) ;;
++- *) flags=${flags}P
++- underscore=U
++- ;;
++- esac
++- shift
++- ;;
++- *) standard=
++- ;;
++- esac
++- ;;
++- esac
++- case $standard in
++- '') standard=$HOST
++- case $call in
++- SI) ;;
++- *) underscore=U ;;
++- esac
++- case $call in
++- CS|PC|SC)
++- case $define in
++- _${call}_*)
++- standard=POSIX
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- part=$section
++- case $section in
++- '') section=1
++- case $standard in
++- POSIX|XOPEN) part=$section ;;
++- esac
++- ;;
++- esac
++- name=
++- while :
++- do case $# in
++- 0) break ;;
++- esac
++- case $name in
++- '') name=$1 ;;
++- *) name=${name}_$1 ;;
++- esac
++- shift
++- done
++- case $name in
++- '') ;;
++- HOSTTYPE|LIBPATH|LIBPREFIX|LIBSUFFIX|PATH_ATTRIBUTES|PATH_RESOLVE|UNIVERSE)
++- ;;
++- *) values=
++- script=
++- args=
++- headers=
++- case $name in
++- V[123456789]_*|V[123456789][0123456789]_*) underscore=VW ;;
++- esac
++- case $call in
++- CS|SI) key=CS ;;
++- *) key=$call ;;
++- esac
++- case $name in
++- *VERSION*)key=${key}_${standard}${part} ;;
++- esac
++- key=${key}_${name}
++- eval x='$'CONF_keys_$name
++- case $x in
++- '') eval x='$'CONF_name_$key
++- case $x in
++- '') case $call in
++- SI) flags=O$flags ;;
++- esac
++- case $underscore in
++- ?*) flags=${flags}${underscore} ;;
++- esac
++- old=QQ
++- case $name in
++- *VERSION*)old=${old}_${standard}${part} ;;
++- esac
++- old=${old}_${name}
++- eval x='$'CONF_name_$old
++- case $x in
++- ?*) eval CONF_name_$old=
++- eval flags='$'flags'$'CONF_flags_$old
++- eval values='$'CONF_values_$old
++- eval script='$'CONF_script_$old
++- eval args='$'CONF_args_$old
++- eval headers='$'CONF_headers_$old
++- ;;
++- esac
++- keys="$keys$nl$key"
++- eval CONF_name_${key}='$'name
++- eval CONF_standard_${key}='$'standard
++- eval CONF_call_${key}='$'call
++- eval CONF_section_${key}='$'section
++- eval CONF_flags_${key}=d'$'flags
++- eval CONF_define_${key}='$'define
++- eval CONF_values_${key}='$'values
++- eval CONF_script_${key}='$'script
++- eval CONF_args_${key}='$'args
++- eval CONF_headers_${key}='$'headers
++- ;;
++- *) eval x='$'CONF_define_$key
++- case $x in
++- ?*) case $call in
++- CS) eval x='$'CONF_call_$key
++- case $x in
++- SI) ;;
++- *) define= ;;
++- esac
++- ;;
++- *) define=
++- ;;
++- esac
++- ;;
++- esac
++- case $define in
++- ?*) eval CONF_define_${key}='$'define
++- eval CONF_call_${key}='$'call
++- eval x='$'CONF_call_${key}
++- case $x in
++- QQ) ;;
++- *) case $flags in
++- *R*) flags=R ;;
++- *) flags= ;;
++- esac
++- ;;
++- esac
++- case $call in
++- SI) flags=O$flags ;;
++- esac
++- eval CONF_flags_${key}=d'$'flags'$'CONF_flags_${key}
++- ;;
++- esac
++- old=QQ
++- case $name in
++- *VERSION*)old=${old}_${standard}${part} ;;
++- esac
++- old=${old}_${name}
++- eval CONF_name_$old=
++- esac
++- ;;
++- *) for key in $x
++- do eval x='$'CONF_call_${key}
++- case $x in
++- XX) eval CONF_call_${key}=QQ
++- eval CONF_flags_${key}=S'$'CONF_flags_${key}
++- ;;
++- esac
++- done
++- esac
++- ;;
++- esac
++-done
++-
++-# sort keys by name
++-
++-keys=`for key in $keys
++-do eval echo '$'CONF_name_$key '$'key
++-done | sort -u | sed 's,.* ,,'`
++-
++-# mark the dups CONF_PREFIXED
++-
++-prev_key=
++-prev_name=
++-for key in $keys
++-do eval name=\"'$'CONF_name_$key\"
++- case $name in
++- '') continue
++- ;;
++- $prev_name)
++- eval p='$'CONF_flags_${prev_key}
++- eval c='$'CONF_flags_${key}
++- case $p:$c in
++- *L*:*L*);;
++- *L*:*) c=L${c} ;;
++- *:*L*) p=L${p} ;;
++- *) p=P$p c=P$c ;;
++- esac
++- eval CONF_flags_${prev_key}=$p
++- eval CONF_flags_${key}=$c
++- ;;
++- esac
++- prev_name=$name
++- prev_key=$key
++-done
++-
++-# collect all the macros/enums
++-
++-for key in $keys
++-do eval name=\"'$'CONF_name_$key\"
++- case $name in
++- '') continue ;;
++- $keep_name) ;;
++- *) continue ;;
++- esac
++- eval call=\"'$'CONF_call_$key\"
++- case $call in
++- $keep_call) ;;
++- *) continue ;;
++- esac
++- eval standard=\"'$'CONF_standard_$key\"
++- eval section=\"'$'CONF_section_$key\"
++- eval flags=\"'$'CONF_flags_$key\"
++- eval define=\"'$'CONF_define_$key\"
++- eval values=\"'$'CONF_values_$key\"
++- eval script=\"'$'CONF_script_$key\"
++- eval args=\"'$'CONF_args_$key\"
++- eval headers=\"'$'CONF_headers_$key\"
++- conf_name=$name
++- case $call in
++- QQ) call=XX
++- for c in SC PC CS
++- do case $flags in
++- *S*) case $section in
++- 1) eval x='$'CONF_call_${c}_${standard}_${name} ;;
++- *) eval x='$'CONF_call_${c}_${standard}${section}_${name} ;;
++- esac
++- ;;
++- *) eval x='$'CONF_call_${c}_${name}
++- ;;
++- esac
++- case $x in
++- ?*) call=$x
++- break
++- ;;
++- esac
++- done
++- case $call in
++- XX) for c in SC PC CS
++- do echo "_${c}_${name}"
++- case $flags in
++- *S*) case $section in
++- 1) echo "_${c}_${standard}_${name}" ;;
++- *) echo "_${c}_${standard}${section}_${name}" ;;
++- esac
++- ;;
++- esac
++- done
++- ;;
++- esac
++- ;;
++- esac
++- case $call in
++- CS|PC|SC|SI|XX)
++- ;;
++- *) echo "$command: $name: $call: invalid call" >&2
++- exit 1
++- ;;
++- esac
++- case $flags in
++- *[ABEGHIJQTYZabcefghijklmnopqrstuvwxyz_123456789]*)
++- echo "$command: $name: $flags: invalid flag(s)" >&2
++- exit 1
++- ;;
++- esac
++- case $section in
++- [01]) ;;
++- *) case $flags in
++- *N*) ;;
++- *) name=${section}_${name} ;;
++- esac
++- standard=${standard}${section}
++- ;;
++- esac
++- case $call in
++- XX) ;;
++- *) case $flags in
++- *d*) conf_op=${define} ;;
++- *O*) conf_op=${call}_${name} ;;
++- *R*) conf_op=_${standard}_${call}_${name} ;;
++- *S*) conf_op=_${call}_${standard}_${name} ;;
++- *) conf_op=_${call}_${name} ;;
++- esac
++- echo "${conf_op}"
++- ;;
++- esac
++- case $standard:$flags in
++- C:*) ;;
++- *:*L*) echo "${conf_name}"
++- echo "_${standard}_${conf_name}"
++- ;;
++- *:*M*) case $section in
++- 1) echo "_${standard}_${conf_name}" ;;
++- *) echo "_${standard}${section}_${conf_name}" ;;
++- esac
++- ;;
++- esac
++-done > $tmp.q
++-sort -u < $tmp.q > $tmp.t
++-mv $tmp.t $tmp.q
++-sort -u < $tmp.v > $tmp.t
++-mv $tmp.t $tmp.v
++-
++-# test all the macros in a few batches (some compilers have an error limit)
++-
++-defined() # list-file
++-{
++- : > $tmp.p
++- while :
++- do {
++- cat <<!
++-${head}
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-#undef conf
++-unsigned int conf[] = {
++-!
++- sed 's/$/,/' $1
++- echo "};"
++- } > $tmp.c
++- if $cc $error_limit -c $tmp.c > $tmp.e 2>&1
++- then
++- break # no compiler error implies all the symbols are valid
++- fi
++- python.sh sort_symbols.py < $tmp.e > $tmp.n
++- cmp -s $tmp.n $tmp.p && break
++- fgrep -x -v -f $tmp.n $1 > $tmp.y
++- mv $tmp.y $1
++- mv $tmp.n $tmp.p
++- done
++- {
++- cat <<!
++-${head}
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-#undef conf
++-!
++- sed 's/.*/conf "&" = &/' $1
++- } > $tmp.c
++- $cc -E $error_limit $tmp.c 2>/dev/null |
++- sed -e '/conf[ '"$tab"']*".*"[ '"$tab"']*=[ '"$tab"']*/!d' \
++- -e '/[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789][ '"$tab"']*(/!d' -e 's/.*"\(.*\)".*/\1/' > $tmp.n
++- if test -s $tmp.n
++- then fgrep -x -v -f $tmp.n $1 > $tmp.y
++- mv $tmp.y $1
++- fi
++-}
++-
++-echo "$command: check macros/enums as static initializers" >&2
++-
++-defined $tmp.q
++-defined $tmp.v
++-
++-# mark the constant macros/enums
++-
++-exec < $tmp.q
++-while read line
++-do eval CONF_const_${line}=1
++-done
++-
++-exec < $tmp.v
++-while read line
++-do eval CONF_const_${line}=1
++-done
++-
++-# mark the string literal values
++-
++-{
++- cat <<!
++-${head}
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-#undef conf
++-!
++- sed 's/.*/conf "&" = &/' $tmp.q
++-} > $tmp.c
++-$cc -E $tmp.c |
++-sed -e '/conf[ '"$tab"']*".*"[ '"$tab"']*=[ '"$tab"']*"/!d' -e 's/.*"\([^"]*\)".*/\1/' > $tmp.e
++-exec < $tmp.e
++-while read line
++-do eval CONF_string_${line}=1
++-done
++-
++-# Walk through the table.
++-
++-name_max=1
++-export tmp name standard call cc
++-
++-exec > $tmp.t
++-for key in $keys
++-do eval name=\"'$'CONF_name_$key\"
++- case $name in
++- '') continue ;;
++- $keep_name) ;;
++- *) continue ;;
++- esac
++- eval call=\"'$'CONF_call_$key\"
++- case $call in
++- $keep_call) ;;
++- *) continue ;;
++- esac
++- eval standard=\"'$'CONF_standard_$key\"
++- eval section=\"'$'CONF_section_$key\"
++- eval flags=\"'$'CONF_flags_$key\"
++- eval define=\"'$'CONF_define_$key\"
++- eval values=\"'$'CONF_values_$key\"
++- eval script=\"'$'CONF_script_$key\"
++- eval args=\"'$'CONF_args_$key\"
++- eval headers=\"'$'CONF_headers_$key\"
++- conf_name=$name
++- case $call in
++- QQ) call=XX
++- for c in SC PC CS
++- do case $flags in
++- *S*) case $section in
++- 1) eval x='$'CONF_call_${c}_${standard}_${name} ;;
++- *) eval x='$'CONF_call_${c}_${standard}${section}_${name} ;;
++- esac
++- ;;
++- *) eval x='$'CONF_call_${c}_${name}
++- ;;
++- esac
++- case $x in
++- ?*) call=$x
++- break
++- ;;
++- esac
++- done
++- case $call in
++- XX) for c in SC PC CS
++- do case $flags in
++- *S*) case $section in
++- 1) eval x='$'CONF_const__${c}_${standard}_${name} ;;
++- *) eval x='$'CONF_const__${c}_${standard}${section}_${name} ;;
++- esac
++- ;;
++- *) eval x='$'CONF_const__${c}_${name}
++- ;;
++- esac
++- case $x in
++- 1) call=$c
++- break
++- ;;
++- esac
++- done
++- ;;
++- esac
++- case $call in
++- XX) case $standard in
++- C) standard=POSIX ;;
++- esac
++- case $flags in
++- *L*) flags=lFU ;;
++- *) flags=FU ;;
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- case " $standards " in
++- *" $standard "*)
++- ;;
++- *) standards="$standards $standard"
++- ;;
++- esac
++- conf_standard=CONF_${standard}
++- case $call in
++- CS) conf_call=CONF_confstr
++- ;;
++- PC) conf_call=CONF_pathconf
++- ;;
++- SC) conf_call=CONF_sysconf
++- ;;
++- SI) conf_call=CONF_sysinfo
++- ;;
++- XX) conf_call=CONF_nop
++- ;;
++- esac
++- conf_op=-1
++- for s in _${call}_${standard}${section}_${name} _${call}_${standard}_${name} _${call}_${section}_${name} _${call}_${name} ${call}_${name}
++- do eval x='$'CONF_const_${s}
++- case $x in
++- 1) conf_op=${s}
++- break
++- ;;
++- esac
++- done
++- conf_section=$section
++- conf_flags=0
++- case $flags in
++- *C*) conf_flags="${conf_flags}|CONF_DEFER_CALL" ;;
++- esac
++- case $flags in
++- *D*) conf_flags="${conf_flags}|CONF_DEFER_MM" ;;
++- esac
++- case $flags in
++- *F*) conf_flags="${conf_flags}|CONF_FEATURE" ;;
++- esac
++- case $flags in
++- *L*) conf_flags="${conf_flags}|CONF_LIMIT" ;;
++- esac
++- case $flags in
++- *M*) conf_flags="${conf_flags}|CONF_MINMAX" ;;
++- esac
++- case $flags in
++- *N*) conf_flags="${conf_flags}|CONF_NOSECTION" ;;
++- esac
++- case $flags in
++- *P*) conf_flags="${conf_flags}|CONF_PREFIXED" ;;
++- esac
++- case $flags in
++- *S*) conf_flags="${conf_flags}|CONF_STANDARD" ;;
++- esac
++- case $flags in
++- *U*) conf_flags="${conf_flags}|CONF_UNDERSCORE" ;;
++- esac
++- case $flags in
++- *V*) conf_flags="${conf_flags}|CONF_NOUNDERSCORE" ;;
++- esac
++- case $flags in
++- *W*) conf_flags="${conf_flags}|CONF_PREFIX_ONLY" ;;
++- esac
++- case $call in
++- CS|SI) conf_flags="${conf_flags}|CONF_STRING"
++- string=1
++- ;;
++- *) eval string='$'CONF_string_${key}
++- ;;
++- esac
++- conf_limit=0
++- case $flags in
++- *[Ll]*) d=
++- case ${conf_name} in
++- LONG_MAX|SSIZE_MAX)
++- x=
++- ;;
++- *) eval x='$'CONF_const_${conf_name}
++- ;;
++- esac
++- case $x in
++- '') for s in ${values}
++- do case $s in
++- $sym) eval x='$'CONF_const_${s}
++- case $x in
++- 1) eval a='$'CONF_const_${standard}_${s}
++- case $a in
++- $x) x= ;;
++- *) x=$s ;;
++- esac
++- break
++- ;;
++- esac
++- ;;
++- [0123456789]*|[-+][0123456789]*)
++- d=$s
++- break
++- ;;
++- esac
++- done
++- case ${x:+1}:$flags:$conf_op in
++- :*:-1|:*X*:*)
++- echo "$command: probe for ${conf_name} <limits.h> value" >&2
++- x=
++- case $CONF_getconf in
++- ?*) if $CONF_getconf $conf_name > $tmp.x 2>/dev/null
++- then x=`cat $tmp.x`
++- case $x in
++- undefined) x= ;;
++- esac
++- fi
++- ;;
++- esac
++- case ${x:+1} in
++- '') case $script in
++- '#'*) echo "$script" > $tmp.sh
++- chmod +x $tmp.sh
++- x=`$tmp.sh 2>/dev/null`
++- ;;
++- '') case $conf_name in
++- SIZE_*|U*|*_MAX)
++- f="%${LL_format}u"
++- t="unsigned _ast_intmax_t"
++- ;;
++- *) f="%${LL_format}d"
++- t="_ast_intmax_t"
++- ;;
++- esac
++- cat > $tmp.c <<!
++-${head}
++-#include <stdio.h>
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-int
++-main()
++-{
++- printf("$f\n", ($t)$conf_name);
++- return 0;
++-}
++-!
++- ;;
++- *) cat > $tmp.c <<!
++-${head}
++-#include <stdio.h>
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-${script}
++-!
++- ;;
++- esac
++- case $args in
++- '') set "" ;;
++- *) eval set '""' '"'$args'"'; shift ;;
++- esac
++- for a
++- do case $script in
++- '#'*) $tmp.sh $a > $tmp.x
++- x=$?
++- ;;
++- *) $cc $a -o $tmp.exe $tmp.c && $tmp.exe > $tmp.x
++- x=$?
++- ;;
++- esac
++- case $x in
++- 0) x=`cat $tmp.x`
++- case $x in
++- "-") x=$a ;;
++- esac
++- break
++- ;;
++- *) x=
++- ;;
++- esac
++- done
++- ;;
++- esac
++- case $x in
++- '') x=$d ;;
++- esac
++- ;;
++- esac
++- case ${x:+1}:$flags:$conf_op in
++- 1:*:-1|1:*X*:*)
++- conf_limit=$x
++- case $flags in
++- *L*) ;;
++- *) conf_flags="${conf_flags}|CONF_LIMIT" ;;
++- esac
++- conf_flags="${conf_flags}|CONF_LIMIT_DEF"
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- case $section in
++- [01]) ;;
++- *) case $flags in
++- *N*) ;;
++- *) name=${section}_${name} ;;
++- esac
++- standard=${standard}${section}
++- ;;
++- esac
++- conf_minmax=0
++- case $call:$standard:$flags in
++- *:C:*M*)for s in _${standard}_${conf_name} ${values}
++- do case $s in
++- $sym) ;;
++- *) conf_minmax=$s
++- conf_flags="${conf_flags}|CONF_MINMAX_DEF"
++- break
++- ;;
++- esac
++- done
++- ;;
++- *:C:*) ;;
++- [CPSX][CSX]:*:*[FM]*)
++- x=
++- for s in _${standard}_${conf_name} ${values}
++- do case $s in
++- $sym) eval x='$'CONF_const_${s} ;;
++- *) x=1 ;;
++- esac
++- case $x in
++- 1) conf_minmax=$s
++- case $flags in
++- *M*) conf_flags="${conf_flags}|CONF_MINMAX_DEF" ;;
++- esac
++- case $conf_minmax in
++- [-+0123456789]*) x= ;;
++- esac
++- break
++- ;;
++- esac
++- done
++- case ${x:+1}:${script:+1} in
++- :1)
++- echo "$command: probe for _${standard}_${conf_name} minmax value" >&2
++- case $CONF_getconf in
++- ?*) if $CONF_getconf _${standard}_${conf_name} > $tmp.x
++- then x=`cat $tmp.x`
++- case $x in
++- undefined) x= ;;
++- esac
++- fi
++- ;;
++- esac
++- case $x in
++- '') case $script in
++- '#'*) echo "$script" > $tmp.sh
++- chmod +x $tmp.sh
++- x=`$tmp.sh`
++- ;;
++- *) cat > $tmp.c <<!
++-${head}
++-#include <sys/types.h>
++-#include <limits.h>
++-#include <unistd.h>
++-${headers}
++-${tail}
++-${script}
++-!
++- ;;
++- esac
++- case $args in
++- '') set "" ;;
++- *) eval set '""' "$args"; shift ;;
++- esac
++- for a
++- do case $script in
++- '#'*) $tmp.sh $a > $tmp.x
++- x=$?
++- ;;
++- *) $cc $a -o $tmp.exe $tmp.c && $tmp.exe > $tmp.x
++- x=$?
++- ;;
++- esac
++- case $x in
++- 0) x=`cat $tmp.x`
++- case $x in
++- "-") x=$a ;;
++- esac
++- break
++- ;;
++- *) x=
++- ;;
++- esac
++- done
++- ;;
++- esac
++- case $x in
++- ?*) conf_minmax=$x
++- case $flags in
++- *M*) case "|$conf_flags|" in
++- *'|CONF_MINMAX_DEF|'*)
++- ;;
++- *) conf_flags="${conf_flags}|CONF_MINMAX_DEF"
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- esac
++- case $string in
++- 1) conf_limit="{ 0, $conf_limit }" conf_minmax="{ 0, $conf_minmax }"
++- ;;
++- *) case $conf_limit in
++- 0[xX]*|-*|+*|[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_]*)
++- ;;
++- *[!0123456789abcdefABCDEF]*)
++- conf_limit=0
++- ;;
++- *[!0123456789]*)
++- conf_limit=0x$conf_limit
++- ;;
++- esac
++- case $conf_minmax in
++- 0[xX]*|-*|+*|[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_]*)
++- ;;
++- *[!0123456789abcdefABCDEF]*)
++- conf_minmax=0
++- ;;
++- *[!0123456789]*)
++- conf_minmax=0x$conf_minmax
++- ;;
++- esac
++- case $conf_limit in
++- ?*[-+]*|*['()']*)
++- ;;
++- *[lLuU])
++- case $LL_suffix in
++- ??) case $conf_limit in
++- *[!lL][lL]|*[!lL][lL][uU])
++- conf_limit=${conf_limit}L
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- -*[2468])
++- eval `echo '' $conf_limit | sed 's/ *\(.*\)\(.\) */p=\1 s=\2/'`
++- s=`expr $s - 1`
++- conf_limit=${p}${s}${LL_suffix}-1${LL_suffix}
++- ;;
++- 0[xX]*[abcdefABCDEF])
++- conf_limit=${conf_limit}${LL_suffix}
++- ;;
++- -*[0123456789])
++- conf_limit=${conf_limit}${LL_suffix}
++- ;;
++- *[0123456789])
++- conf_limit=${conf_limit}${U_suffix}${LL_suffix}
++- ;;
++- esac
++- case $conf_minmax in
++- ?*[-+]*|*['()']*)
++- ;;
++- *[lLuU])
++- case $LL_suffix in
++- ??) case $conf_minmax in
++- *[!lL][lL]|*[!lL][lL][uU])
++- conf_minmax=${conf_minmax}L
++- ;;
++- esac
++- ;;
++- esac
++- ;;
++- -*[2468])
++- eval `echo '' $conf_minmax | sed 's/ *\(.*\)\(.\) */p=\1 s=\2/'`
++- s=`expr $s - 1`
++- conf_minmax=${p}${s}${LL_suffix}-1${LL_suffix}
++- ;;
++- 0[xX]*[abcdefABCDEF])
++- conf_minmax=${conf_minmax}${LL_suffix}
++- ;;
++- -*[0123456789])
++- conf_minmax=${conf_minmax}${LL_suffix}
++- ;;
++- *[0123456789])
++- conf_minmax=${conf_minmax}${U_suffix}${LL_suffix}
++- ;;
++- esac
++- conf_limit="{ $conf_limit, 0 }" conf_minmax="{ $conf_minmax, 0 }"
++- ;;
++- esac
++-
++- case $conf_flags in
++- '0|'*) conf_flags=`echo "$conf_flags" | sed 's/^0.//'`
++- ;;
++- esac
++-
++- echo "{ \"$conf_name\", $conf_limit, $conf_minmax, $conf_flags, $conf_standard, $conf_section, $conf_call, $conf_op },"
++- len=`echo ${conf_name} | wc -c`
++- if expr \( $len - 1 \) \>= ${name_max} >/dev/null
++- then name_max=$len
++- fi
++-done
++-
++-# ====================
++-# Create the conftab.h header file.
++-#
++-echo "$command: generate conftab.h string table header" >&2
++-
++-name_max=`expr \( $name_max + 3 \) / 4 \* 4`
++-
++-conf_standards=
++-index=0
++-for standard in $standards
++-do
++- standard="#define CONF_${standard} ${index}"
++- conf_standards="$conf_standards$nl$standard"
++- index=`expr $index + 1`
++-done
++-conf_standards="$conf_standards$nl#define CONF_call ${index}"
++-
++-getconf=
++-case $CONF_getconf in
++-?*) getconf="$getconf$nl#define _pth_getconf \"$CONF_getconf\""
++- case $CONF_getconf_a in
++- ?*) getconf="$getconf$nl#define _pth_getconf_a \"$CONF_getconf_a\"" ;;
++- esac
++- ;;
++-esac
++-
++-python.sh fill_template.py < ${source_dir}/conftab.h.in > ${target_dir}/conftab.h \
++- conf_standards "$conf_standards" \
++- getconf "$getconf" \
++- name_max "$name_max"
++-test $? -eq 0 || { rm ${target_dir}/conftab.*; exit 1; }
++-
++-# ====================
++-# Create the conftab.c source file.
++-#
++-echo "$command: generate conftab.c string table" >&2
++-
++-prefix_standards=
++-for standard in $standards
++-do
++- len=`echo ${standard} | wc -c`; len=`expr $len - 1`
++- entry=" { \"${standard}\", ${len}, CONF_${standard}, -1 },"
++- prefix_standards="$prefix_standards$nl$entry"
++-done
++-
++-getconf=`cat $tmp.t`
++-
++-python.sh fill_template.py < ${source_dir}/conftab.c.in > ${target_dir}/conftab.c \
++- getconf "$getconf" \
++- headers "$headers" \
++- prefix_standards "$prefix_standards"
++-test $? -eq 0 || { rm ${target_dir}/conftab.*; exit 1; }
diff --git a/shells/ksh93/files/patch-src__lib__libast__comp__conf.tab b/shells/ksh93/files/patch-src__lib__libast__comp__conf.tab
new file mode 100644
index 000000000000..f42b27da8b86
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__comp__conf.tab
@@ -0,0 +1,490 @@
+--- files/patch-src_lib_libast_comp_conf.tab.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_comp_conf.tab
+@@ -0,0 +1,487 @@
++--- src/lib/libast/comp/conf.tab.orig 2019-04-16 20:04:19 UTC
+++++ src/lib/libast/comp/conf.tab
++@@ -1,484 +0,0 @@
++-#
++-# posix { getconf limits } macro table
++-#
++-# @(#)conf.tab (AT&T Research) 2013-12-01
++-#
++-# name standard section call flags [ header ... ] [ value ... ]
++-#
++-# name: sans prefix
++-# standard: AST, C, POSIX, SVID, XOPEN, <vendor> { SCO, SGI, SUN, ... }
++-# section: section number in standard
++-# call: CS=confstr PC=pathconf SC=sysconf SI=sysinfo QQ=query XX=none
++-# flags: 0 no flags
++-# C defer call to native getconf(1)
++-# D defer minmax to native getconf(1)
++-# F unistd.h feature
++-# L limits.h constant
++-# M has _<standard><section>_<name> minmax value
++-# N _<call>_<name>
++-# O use original name and definition
++-# R _<standard>_<call>_<section>_<name>
++-# S _<call>_<standard><section>_<name>
++-# U <standard><section>_<name> prefixed by underscore
++-# V _ prefix not allowed
++-# W standard required
++-# X define even if native is dynamic (ast special)
++-#
++-# default names if <section> <= 1
++-#
++-# _<call>_<name>
++-# <standard>_<name>
++-#
++-# default names if <section> > 1
++-#
++-# _<call>_<section>_<name>
++-# <standard><section>_<name>
++-#
++-# the [NSU] flags modify the default names
++-#
++-
++-ABI_AIO_XFER_MAX C QQ 1 L
++-ABI_ASYNCHRONOUS_IO C QQ 1 L
++-ABI_ASYNC_IO C QQ 1 L
++-ACL_ENABLED SUN PC 1 0
++-ADVISORY_INFO POSIX SC 1 FUW
++-AIO_LISTIO_MAX POSIX SC 1 LMU 2
++-AIO_MAX POSIX SC 1 LMU 1
++-AIO_PRIO_DELTA_MAX POSIX SC 1 LMU
++-ALLOC_SIZE_MIN POSIX PC 1 LUVW
++-ARCHITECTURE SVID SI 1 O
++-ARG_MAX POSIX SC 1 CDLMUX NCARGS 4096
++-ASYNCHRONOUS_IO POSIX SC 1 CDFUW
++-ASYNC_IO POSIX PC 1 FUW
++-ATEXIT_MAX XOPEN SC 1 LMU 32
++-AUDIT C QQ 1 L
++-AVAIL_PROCESSORS C QQ 1 L
++-AVPHYS_PAGES SUN SC 1 0
++-BARRIERS POSIX SC 1 FUW
++-BC_BASE_MAX POSIX SC 2 LMN 99
++-BC_DIM_MAX POSIX SC 2 LMN 2048
++-BC_SCALE_MAX POSIX SC 2 LMN 99
++-BC_STRING_MAX POSIX SC 2 LMN 1000
++-BUSTYPES SVID SI 1 O
++-CHARCLASS_NAME_MAX XOPEN XX 1 L 14
++-CHAR_BIT C XX 1 L 8
++-CHAR_MAX C XX 1 L
++-CHAR_MIN C XX 1 L
++-CHAR_TERM POSIX SC 2 FUW
++-CHILD_MAX POSIX SC 1 CDLMUX 6 cc{
++- #define child() fork()
++- extern int spawnve(const char*, char* const[], char* const[]);
++- static char* cmd[] = { "/bin/echo", 0 };
++- #define child() spawnve(cmd[0],cmd,(char**)0)
++- #endif
++- int main()
++- {
++- int i;
++- int n;
++- for (i = 3; i < 512 && (n = child()) >= 0; i++)
++- if (!n) _exit(0);
++- while (wait((int*)0) > 0);
++- for (n = 8; n < i; n <<= 1);
++- printf("%d", n);
++- return 0;
++- }
++-}
++-CHOWN_RESTRICTED POSIX PC 1 FUW
++-CKPT POSIX SC 1 FU
++-CLK_TCK POSIX SC 1 L HZ 60
++-CLOCKRES_MIN POSIX SC 1 MUW 1
++-CLOCKS_PER_SEC C QQ 1 L
++-CLOCK_SELECTION POSIX SC 1 FUVW
++-COLL_WEIGHTS_MAX POSIX SC 2 DLMN 2
++-CPUTIME POSIX SC 1 FUW
++-CPU_KEYBITS1 C QQ 1 L
++-CPU_VERSION C QQ 1 L
++-CRYPT XOPEN SC 1 FSUW
++-C_BIND POSIX SC 2 CFU
++-C_DEV POSIX SC 2 CFU
++-C_VERSION POSIX SC 2 CDFU
++-DATAKEYS_MAX C QQ 1 0
++-DELAYTIMER_MAX POSIX SC 1 LMU 32
++-ENH_I18N XOPEN SC 1 FSUW
++-EQUIV_CLASS_MAX C QQ 1 L
++-EXEC_INTERPRETER_LENGTH C QQ 1 L
++-EXPR_NEST_MAX POSIX SC 2 LMN 32
++-FCHR_MAX SVID SC 1 LMU LONG_MAX 2147483647
++-FILESIZEBITS POSIX PC 1 LMU (8*sizeof(off_t)) 32
++-FILE_LOCKING POSIX SC 1 FU
++-FORT_DEV POSIX SC 2 CFUW
++-FORT_RUN POSIX SC 2 CFUW
++-FSYNC POSIX SC 1 CDFUW _lib_fsync
++-GETGR_R_SIZE_MAX C QQ 1 L
++-GETPW_R_SIZE_MAX C QQ 1 L
++-HOSTID C QQ 1 L
++-HOSTNAME SVID SI 1 O
++-HOST_NAME_MAX POSIX SC 1 LMU 255
++-HW_PROVIDER SVID SI 1 O
++-HW_SERIAL C QQ 1 L
++-INITTAB_NAME SVID SI 1 O
++-INT_MAX C XX 1 L 32767
++-INT_MIN C XX 1 L -32767
++-IOV_MAX XOPEN SC 1 LMU 16
++-IO_TYPE C QQ 1 L
++-IPV6 POSIX SC 1 FUW
++-IP_SECOPTS C QQ 1 L
++-JOB_CONTROL POSIX SC 1 FUW cc{
++- int main()
++- {
++- printf("1");
++- return 0;
++- }
++-}
++-KERNEL_CLIST SCO SC 1 0
++-KERNEL_CLIST_MAX SCO SC 1 0
++-KERNEL_DISK SCO SC 1 0
++-KERNEL_DISK_MAX SCO SC 1 0
++-KERNEL_DMABUF SCO SC 1 0
++-KERNEL_DMABUF_MAX SCO SC 1 0
++-KERNEL_FILE SCO SC 1 0
++-KERNEL_FILE_MAX SCO SC 1 0
++-KERNEL_FLCKREC SCO SC 1 0
++-KERNEL_FLCKREC_MAX SCO SC 1 0
++-KERNEL_INODE SCO SC 1 0
++-KERNEL_INODE_MAX SCO SC 1 0
++-KERNEL_MOUNT SCO SC 1 0
++-KERNEL_MOUNT_MAX SCO SC 1 0
++-KERNEL_PINODE SCO SC 1 0
++-KERNEL_PINODE_MAX SCO SC 1 0
++-KERNEL_PROC SCO SC 1 0
++-KERNEL_PROC_MAX SCO SC 1 0
++-KERNEL_REGION SCO SC 1 0
++-KERNEL_REGION_MAX SCO SC 1 0
++-KERNEL_S5INODE SCO SC 1 0
++-KERNEL_S5INODE_MAX SCO SC 1 0
++-KERNEL_STAMP SVID SI 1 O
++-KERN_POINTERS C QQ 1 L
++-KERN_SIM C QQ 1 L
++-LEGACY XOPEN SC 1 FU
++-LINE_MAX POSIX SC 2 LMN 2048
++-LINK_MAX POSIX PC 1 LMU MAXLINK SHRT_MAX 8
++-LLONG_MAX C XX 1 L
++-LLONG_MIN C XX 1 L
++-LOCALEDEF POSIX SC 1 FUW
++-LOCALEDEF POSIX SC 2 CFUW
++-LOGIN_NAME_MAX POSIX SC 1 LMU
++-LOGNAME_MAX SVID SC 1 MU 8
++-LONG_BIT XOPEN XX 1 L (8*sizeof(long)) 32
++-LONG_MAX C XX 1 L 2147483647
++-LONG_MIN C XX 1 L -2147483647
++-MACHINE SVID SI 1 O
++-MAPPED_FILES POSIX SC 1 CDFUW _lib_mmap
++-MAX_CANON POSIX PC 1 LMU CANBSIZ 255
++-MAX_INPUT POSIX PC 1 LMU MAX_CANON 255
++-MB_LEN_MAX C XX 1 L 1
++-MCAS_OFFSET C QQ 1 L
++-MEMLOCK POSIX SC 1 CDFUW
++-MEMLOCK_RANGE POSIX SC 1 CDFUW
++-MEMORY_PROTECTION POSIX SC 1 CDFUW
++-MESSAGE_PASSING POSIX SC 1 CDFUW
++-MIN_HOLE_SIZE POSIX PC 1 LMU
++-MMAP_FIXED_ALIGNMENT C QQ 1 L _AST_PAGESIZE
++-MONOTONIC_CLOCK POSIX SC 1 FUW
++-MQ_OPEN_MAX POSIX SC 1 LMU 8
++-MQ_PRIO_MAX POSIX SC 1 LMU 32
++-MSEM_LOCKID C QQ 1 L
++-MULTI_PROCESS POSIX SC 1 FU
++-NACLS_MAX SVID SC 1 0
++-NAME_MAX POSIX PC 1 LMU 14 cc{
++- int main()
++- {
++- #ifdef MAXNAMLEN
++- printf("%d", MAXNAMLEN);
++- #else
++- #if !defined(remove)
++- #define remove unlink
++- #endif
++- int i;
++- int n;
++- int v;
++- char name[256];
++- for (i = 0; i < sizeof(name); i++)
++- name[i] = 'F';
++- name[8] = '.';
++- name[sizeof(name) - 1] = 0;
++- if ((n = creat(name, 0666)) >= 0)
++- {
++- close(n);
++- for (v = 12; v < sizeof(name); v++)
++- {
++- name[v] = 0;
++- if (remove(name) >= 0) break;
++- name[v] = 'F';
++- }
++- }
++- else for (v = 12; v < sizeof(name); v++)
++- {
++- name[v] = 0;
++- if ((n = creat(name, 0666)) >= 0)
++- {
++- close(n);
++- remove(name);
++- name[v] = 'F';
++- }
++- else
++- {
++- v--;
++- break;
++- }
++- }
++- printf("%d", v);
++- return 0;
++- }
++- #endif
++-}
++-NGROUPS_MAX POSIX SC 1 CDLMU 8 cc{
++- int main()
++- {
++- int n;
++- gid_t g;
++- if ((n = getgroups(0, &g)) < 0)
++- #if defined(NGROUPS) && (NGROUPS-0) > 0
++- n = NGROUPS;
++- #else
++- return 1;
++- #endif
++- printf("%d", n);
++- return 0;
++- }
++-}
++-NL_ARGMAX XOPEN XX 1 L 9
++-NL_LANGMAX XOPEN XX 1 L 14
++-NL_MAX C QQ 1 L
++-NL_MSGMAX XOPEN XX 1 L 32767
++-NL_NMAX XOPEN XX 1 L 1
++-NL_SETMAX XOPEN XX 1 L 255
++-NL_SPECMAX C QQ 1 L
++-NL_TEXTMAX XOPEN XX 1 L LINE_MAX
++-NO_TRUNC POSIX PC 1 FUW
++-NPROCESSORS_CONF SVID SC 1 0
++-NPROCESSORS_MAX SVID SC 1 0
++-NPROCESSORS_ONLN SVID SC 1 0
++-NPROC_CONF C QQ 1 L
++-NPROC_ONLN C QQ 1 L
++-NSS_BUFLEN_GROUP C QQ 1 L
++-NSS_BUFLEN_PASSWD C QQ 1 L
++-NUM_PROCESSORS C QQ 1 L
++-NZERO XOPEN XX 1 L 20
++-OPEN_MAX POSIX SC 1 CDLMUX 16 cc{
++- extern int getdtablesize(void);
++- int main()
++- {
++- printf("%d", getdtablesize());
++- return 0;
++- }
++-}
++-OPEN_MAX_CEIL AST XX 1 L OPEN_MAX
++-OSREL_MAJ C QQ 1 L
++-OSREL_MIN C QQ 1 L
++-OSREL_PATCH C QQ 1 L
++-OS_BASE SVID SI 1 O
++-OS_PROVIDER SVID SI 1 O
++-OS_VERSION AES SC 1 FSU
++-PAGESIZE POSIX SC 1 MU PAGESIZE PAGE_SIZE 4096
++-PAGE_SIZE POSIX SC 1 MU _AST_PAGESIZE
++-PASS_MAX SVID SC 1 CDLMU 8
++-PATH POSIX CS 1 CMU "/bin:/usr/bin"
++-PATH_MAX POSIX PC 1 CDLMUX MAXPATHLEN 1024
++-PBS POSIX SC 2 FUW
++-PBS_ACCOUNTING POSIX SC 2 FUW
++-PBS_CHECKPOINT POSIX SC 2 FUW
++-PBS_LOCATE POSIX SC 2 FUW
++-PBS_MESSAGE POSIX SC 2 FUW
++-PBS_TRACK POSIX SC 2 FUW
++-PHYS_PAGES SUN SC 1 0
++-PID_MAX SVID SC 1 LMU 30000 cc{
++- int main()
++- {
++- long v;
++- int fd;
++- int n;
++- char buf[1024];
++-#ifdef PID_MAX
++- v = PID_MAX;
++-#else
++- v = 99999;
++-#endif
++- if ((fd = open("/proc/sys/kernel/pid_max", 0)) >= 0 && (n = read(fd, buf, sizeof(buf)-1)) > 1)
++- {
++- buf[n] = 0;
++- v = strtol(buf, (char**)0, 0);
++- }
++- else
++- {
++-#ifdef __sgi
++- v = 0x7fffffff;
++-#endif
++- }
++- printf("%ld", v);
++- return 0;
++- }
++-}
++-PII POSIX SC 1 FU
++-PII_INTERNET POSIX SC 1 FU
++-PII_INTERNET_DGRAM POSIX SC 1 FU
++-PII_INTERNET_STREAM POSIX SC 1 FU
++-PII_OSI POSIX SC 1 FU
++-PII_OSI_CLTS POSIX SC 1 FU
++-PII_OSI_COTS POSIX SC 1 FU
++-PII_OSI_M POSIX SC 1 FU
++-PII_SOCKET POSIX SC 1 FU
++-PII_XTI POSIX SC 1 FU
++-PIPE_BUF POSIX PC 1 LMU 512
++-POLL POSIX SC 1 FU
++-PRIORITIZED_IO POSIX SC 1 FUW
++-PRIORITY_SCHEDULING POSIX SC 1 CDFUW
++-PRIO_IO POSIX PC 1 FUW
++-PROC_RSRC_MGR C QQ 1 L
++-PTHREAD_DESTRUCTOR_ITERATIONS C QQ 1 L
++-PTHREAD_KEYS_MAX C QQ 1 L
++-PTHREAD_STACK_MIN C QQ 1 L
++-PTHREAD_THREADS_MAX C QQ 1 L
++-PTRDIFF_MAX C XX 1 LMU stdint.h 65535
++-PTRDIFF_MIN C XX 1 LMU stdint.h -65535
++-RAW_SOCKETS POSIX SC 1 FUW
++-READER_WRITER_LOCKS POSIX SC 1 FUW
++-REALTIME XOPEN SC 1 FU
++-REALTIME_SIGNALS POSIX SC 1 CDFUW
++-REALTIME_THREADS XOPEN SC 1 FU
++-REC_INCR_XFER_SIZE POSIX PC 1 LVW
++-REC_MAX_XFER_SIZE POSIX PC 1 LVW
++-REC_MIN_XFER_SIZE POSIX PC 1 LVW
++-REC_XFER_ALIGN POSIX PC 1 LVW
++-REENTRANT_FUNCTIONS POSIX SC 1 FU
++-REGEXP POSIX SC 1 FUW
++-REGEX_VERSION POSIX SC 1 F 20030916
++-RELEASE AST XX 1 L
++-RESOURCE_LIMITS POSIX SC 1 FU
++-RE_DUP_MAX POSIX SC 2 LMN 255
++-RTSIG_MAX POSIX SC 1 LMU 8
++-SATTR_ENABLED SUN PC 1 0
++-SAVED_IDS POSIX SC 1 FUW cc{
++-}
++-SCHAR_MAX C XX 1 L 127
++-SCHAR_MIN C XX 1 L -127
++-SECURITY_CLASS C QQ 1 L
++-SELECT POSIX SC 1 FU
++-SEMAPHORES POSIX SC 1 CDFUW
++-SEM_NSEMS_MAX POSIX SC 1 LMU 256
++-SEM_VALUE_MAX POSIX SC 1 LMU 32767
++-SHARED_MEMORY_OBJECTS POSIX SC 1 CDFUW
++-SHELL POSIX SC 1 FUVW
++-SHM XOPEN SC 1 FSUW
++-SHRT_MAX C XX 1 L 32767
++-SHRT_MIN C XX 1 L -32767
++-SIG_ATOMIC_MAX C XX 1 L signal.h
++-SIG_ATOMIC_MIN C XX 1 L signal.h
++-SIGQUEUE_MAX POSIX SC 1 LMU 32
++-SIGQUEUE_MAX POSIX SC 1 LMU 32
++-SIGRT_MAX SVID SC 1 0
++-SIGRT_MIN SVID SC 1 0
++-SIZE_MAX C XX 1 LMX stdint.h UINT_MAX 65535
++-SLVM_MAXNODES C QQ 1 L
++-SOCK_MAXBUF C QQ 1 0
++-SOFTPOWER C QQ 1 L
++-SPAWN POSIX SC 1 FUW
++-SPIN_LOCKS POSIX SC 1 FUW
++-SPORADIC_SERVER POSIX SC 1 FUW
++-SRPC_DOMAIN C QQ 1 0
++-SS_REPL_MAX POSIX SC 1 FUW
++-SSIZE_MAX POSIX XX 1 LMUX INT_MAX 32767
++-STD_BLK SVID SC 1 LMU 1024
++-STREAM_MAX POSIX SC 1 LMU OPEN_MAX 8
++-STREAMS XOPEN SC 1 FSUW
++-SW_DEV POSIX SC 2 CFUW
++-SYMLINK_MAX POSIX PC 1 LMU 255 cc{
++- int main()
++- {
++- printf("%d", PATH_MAX-1);
++- return 0;
++- }
++-}
++-SYMLINKS POSIX PC 2 FUW
++-SYMLOOP_MAX POSIX SC 1 LMU 8
++-SYNCHRONIZED_IO POSIX SC 1 CDFUW
++-SYNC_IO POSIX PC 1 FUW
++-SYSNAME SVID SI 1 O
++-SYSPID_MAX SVID SC 1 LMU 2
++-THREADS POSIX SC 1 CDFUW
++-THREADS_PRIO_CEILING POSIX SC 1 FUW
++-THREADS_PRIO_INHERIT POSIX SC 1 FUW
++-THREAD_ATTR_STACKADDR POSIX SC 1 CDFUW
++-THREAD_ATTR_STACKSIZE POSIX SC 1 CDFUW
++-THREAD_CPUTIME POSIX SC 1 FUW
++-THREAD_DESTRUCTOR_ITERATIONS POSIX SC 1 LMUW PTHREAD_DESTRUCTOR_ITERATIONS 4
++-THREAD_KEYS_MAX POSIX SC 1 LMUW PTHREAD_KEYS_MAX 128
++-THREAD_PRIORITY_SCHEDULING POSIX SC 1 CDFUW
++-THREAD_PRIO_INHERIT POSIX SC 1 CDFUW
++-THREAD_PRIO_PROTECT POSIX SC 1 CDFUW
++-THREAD_PROCESS_SHARED POSIX SC 1 CDFUW
++-THREAD_SAFE_FUNCTIONS POSIX SC 1 CDFUW
++-THREAD_SPORADIC_SERVER POSIX SC 1 FUW
++-THREAD_STACK_MIN POSIX SC 1 LUW PTHREAD_STACK_MIN
++-THREAD_THREADS_MAX POSIX SC 1 LMUW PTHREAD_THREADS_MAX 64
++-TIMEOUTS POSIX SC 1 FUW
++-TIMERS POSIX SC 1 CDFUW
++-TIMER_MAX POSIX SC 1 LMU 32
++-TMP AST CS 1 MU "/tmp"
++-TMP_MAX C SC 1 LMU 10000
++-TRACE POSIX SC 1 FUW
++-TRACE_EVENT_FILTER POSIX SC 1 FUW
++-TRACE_EVENT_NAME_MAX POSIX SC 1 FUVW
++-TRACE_INHERIT POSIX SC 1 FUW
++-TRACE_LOG POSIX SC 1 FUW
++-TRACE_NAME_MAX POSIX SC 1 FUVW
++-TRACE_SYS_MAX POSIX SC 1 FUVW
++-TRACE_USER_EVENT_MAX POSIX SC 1 FUVW
++-TTY_NAME_MAX POSIX SC 1 LMU 9
++-TYPED_MEMORY_OBJECTS POSIX SC 1 FUW
++-TZNAME_MAX POSIX SC 1 CDLMU 6
++-T_IOV_MAX C QQ 1 0
++-UCHAR_MAX C XX 1 L 255
++-UCHAR_MIN C XX 1 L
++-UID_MAX SVID SC 1 LMU 60002
++-UINT_MAX C XX 1 L 65535
++-UIO_MAXIOV C QQ 1 0
++-ULLONG_MAX C XX 1 L
++-ULONG_MAX C XX 1 L 4294967295
++-UNIX XOPEN SC 1 FSUW
++-UPE POSIX SC 2 CFUW
++-USER_LIMIT SVID SI 1 O
++-USHRT_MAX C XX 1 L 65535
++-V6_ILP32_OFF32 POSIX SC 1 W
++-V6_ILP32_OFFBIG POSIX SC 1 W
++-V6_LP64_OFF64 POSIX SC 1 W
++-V6_LPBIG_OFFBIG POSIX SC 1 W
++-VDISABLE POSIX PC 1 FUW
++-VERSION POSIX SC 1 CDFSU 200112
++-VERSION POSIX SC 2 CDFSU 200112
++-VERSION XOPEN SC 1 CDFSU 600
++-VERSION SVID SI 1 S
++-VERSION XPG SC 3 DFSU
++-VERSION XPG SC 4 DFSU
++-VERSION_88 C XX 1 L
++-VERSION_88 POSIX SC 1 FSU
++-VERSION_90 C XX 1 L
++-VERSION_90 POSIX SC 1 FSU
++-VERSION_93 C XX 1 L
++-VERSION_93 POSIX SC 1 FSU
++-WCHAR_MAX C XX 1 L stddef.h
++-WCHAR_MIN C XX 1 L stddef.h
++-WINT_MIN C XX 1 L wchar.h
++-WINT_MAX C XX 1 L wchar.h
++-WORD_BIT XOPEN XX 1 L (8*sizeof(int))
++-XATTR_ENABLED SUN PC 1 0
++-XATTR_EXISTS SUN PC 1 0
++-XCU_VERSION XOPEN SC 1 CDFSU
++-XPG2 XOPEN XX 1 FU
++-XPG3 XOPEN XX 1 FU
++-XPG4 XOPEN XX 1 FU
++-
++-# vendor prefixes
++-
++-VERSION GNU XX 1 S
++-VERSION TRUSTEDBSD XX 1 S
diff --git a/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c
new file mode 100644
index 000000000000..899cb18b4cba
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c
@@ -0,0 +1,1875 @@
+--- files/patch-src_lib_libast_comp_conftab.c.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_comp_conftab.c
+@@ -0,0 +1,1872 @@
++--- src/lib/libast/comp/conftab.c.orig 2019-08-04 14:56:54 UTC
+++++ src/lib/libast/comp/conftab.c
++@@ -0,0 +1,1869 @@
+++#include <config_ast.h>
+++
+++#include <limits.h>
+++#include <stdbool.h>
+++#include <stdint.h>
+++#include <sys/param.h>
+++#include <sys/stat.h>
+++#include <sys/types.h>
+++#include <unistd.h>
+++
+++#include "conftab.h"
+++
+++//
+++// Prefix strings -- the first few are indexed by Conf_t.standard.
+++//
+++const Prefix_t prefix[] = {
+++
+++ {"C", 1, CONF_C, -1},
+++ {"SUN", 3, CONF_SUN, -1},
+++ {"POSIX", 5, CONF_POSIX, -1},
+++ {"SVID", 4, CONF_SVID, -1},
+++ {"XOPEN", 5, CONF_XOPEN, -1},
+++ {"SCO", 3, CONF_SCO, -1},
+++ {"AST", 3, CONF_AST, -1},
+++ {"AES", 3, CONF_AES, -1},
+++ {"XPG", 3, CONF_XPG, -1},
+++ {"GNU", 3, CONF_GNU, -1},
+++ {"TRUSTEDBSD", 10, CONF_TRUSTEDBSD, -1},
+++ {"XX", 2, CONF_POSIX, CONF_nop},
+++ {"CS", 2, CONF_POSIX, CONF_confstr},
+++ {"PC", 2, CONF_POSIX, CONF_pathconf},
+++ {"SC", 2, CONF_POSIX, CONF_sysconf},
+++ {"SI", 2, CONF_SVID, CONF_sysinfo},
+++};
+++
+++const int prefix_elements = (int)sizeof(prefix) / (int)sizeof(prefix[0]);
+++
+++//
+++// Conf strings sorted in ascending order.
+++//
+++const Conf_t conf[] = {
+++ {"ABI_AIO_XFER_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"ABI_ASYNCHRONOUS_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"ABI_ASYNC_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"ACL_ENABLED", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_pathconf, -1},
+++ {"ADVISORY_INFO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_ADVISORY_INFO},
+++ {"AIO_LISTIO_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"AIO_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"AIO_PRIO_DELTA_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_AIO_PRIO_DELTA_MAX},
+++ {"ALLOC_SIZE_MIN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_ALLOC_SIZE_MIN},
+++ {"ARCHITECTURE", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"ARG_MAX",
+++ {0UL, 0},
+++ {_POSIX_ARG_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_ARG_MAX},
+++ {"ASYNCHRONOUS_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_ASYNCHRONOUS_IO},
+++ {"ASYNC_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_ASYNC_IO},
+++ {"ATEXIT_MAX",
+++ {0UL, 0},
+++ {32UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_ATEXIT_MAX},
+++ {"AUDIT", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"AVAIL_PROCESSORS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"AVPHYS_PAGES", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_sysconf, -1},
+++ {"BARRIERS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_BARRIERS},
+++ {"BC_BASE_MAX",
+++ {0UL, 0},
+++ {_POSIX2_BC_BASE_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_BC_BASE_MAX},
+++ {"BC_DIM_MAX",
+++ {0UL, 0},
+++ {_POSIX2_BC_DIM_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_BC_DIM_MAX},
+++ {"BC_SCALE_MAX",
+++ {0UL, 0},
+++ {_POSIX2_BC_SCALE_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_BC_SCALE_MAX},
+++ {"BC_STRING_MAX",
+++ {0UL, 0},
+++ {_POSIX2_BC_STRING_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_BC_STRING_MAX},
+++ {"BUSTYPES", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"CHARCLASS_NAME_MAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"CHAR_BIT", {8UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"CHAR_MAX", {127UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"CHAR_MIN", {-127L - 1L, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"CHAR_TERM",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_CHAR_TERM},
+++ {"CHILD_MAX",
+++ {0UL, 0},
+++ {_POSIX_CHILD_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_CHILD_MAX},
+++ {"CHOWN_RESTRICTED",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_CHOWN_RESTRICTED},
+++ {"CKPT", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_sysconf, -1},
+++ {"CLK_TCK", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_POSIX, 1, CONF_sysconf, _SC_CLK_TCK},
+++ {"CLOCKRES_MIN",
+++ {0UL, 0},
+++ {_POSIX_CLOCKRES_MIN, 0},
+++ CONF_MINMAX | CONF_UNDERSCORE | CONF_PREFIX_ONLY | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"CLOCKS_PER_SEC",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"CLOCK_SELECTION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_CLOCK_SELECTION},
+++ {"COLL_WEIGHTS_MAX",
+++ {0UL, 0},
+++ {_POSIX2_COLL_WEIGHTS_MAX, 0},
+++ CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_COLL_WEIGHTS_MAX},
+++ {"CPUTIME",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_CPUTIME},
+++ {"CPU_KEYBITS1",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"CPU_VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"CRYPT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_CRYPT},
+++ {"C_BIND",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_C_BIND},
+++ {"C_DEV",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_C_DEV},
+++ {"C_VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ -1},
+++ {"DATAKEYS_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"DELAYTIMER_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"ENH_I18N",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_ENH_I18N},
+++ {"EQUIV_CLASS_MAX",
+++ {2UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"EXEC_INTERPRETER_LENGTH",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"EXPR_NEST_MAX",
+++ {0UL, 0},
+++ {_POSIX2_EXPR_NEST_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_EXPR_NEST_MAX},
+++ {"FCHR_MAX",
+++ {LONG_MAX, 0},
+++ {LONG_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"FILESIZEBITS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_FILESIZEBITS},
+++ {"FILE_LOCKING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"FORT_DEV",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_FORT_DEV},
+++ {"FORT_RUN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_FORT_RUN},
+++ {"FSYNC",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_FSYNC},
+++ {"GETGR_R_SIZE_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT,
+++ CONF_C,
+++ 1,
+++ CONF_sysconf,
+++ _SC_GETGR_R_SIZE_MAX},
+++ {"GETPW_R_SIZE_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT,
+++ CONF_C,
+++ 1,
+++ CONF_sysconf,
+++ _SC_GETPW_R_SIZE_MAX},
+++ {"HOSTID", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"HOSTNAME", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"HOST_NAME_MAX",
+++ {0UL, 0},
+++ {_POSIX_HOST_NAME_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_HOST_NAME_MAX},
+++ {"HW_PROVIDER", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"HW_SERIAL", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"INITTAB_NAME", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"INT_MAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"INT_MIN",
+++ {-2147483647L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"IOV_MAX",
+++ {0UL, 0},
+++ {_XOPEN_IOV_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_IOV_MAX},
+++ {"IO_TYPE", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"IPV6",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_IPV6},
+++ {"IP_SECOPTS", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"JOB_CONTROL",
+++ {0UL, 0},
+++ {200112UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_JOB_CONTROL},
+++ {"KERNEL_CLIST", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_CLIST_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_DISK", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_DISK_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_DMABUF", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_DMABUF_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_FILE", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_FILE_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_FLCKREC", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_FLCKREC_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_INODE", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_INODE_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_MOUNT", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_MOUNT_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_PINODE", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_PINODE_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_PROC", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_PROC_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_REGION", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_REGION_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_S5INODE", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_S5INODE_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SCO, 1, CONF_sysconf, -1},
+++ {"KERNEL_STAMP", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"KERN_POINTERS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"KERN_SIM", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"LEGACY", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_XOPEN, 1, CONF_sysconf, -1},
+++ {"LINE_MAX",
+++ {0UL, 0},
+++ {_POSIX2_LINE_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_LINE_MAX},
+++ {"LINK_MAX",
+++ {0UL, 0},
+++ {_POSIX_LINK_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_LINK_MAX},
+++ {"LLONG_MAX",
+++ {9223372036854775807UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"LLONG_MIN",
+++ {-9223372036854775807L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"LOCALEDEF",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_LOCALEDEF},
+++ {"LOGIN_NAME_MAX",
+++ {0UL, 0},
+++ {_POSIX_LOGIN_NAME_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_LOGIN_NAME_MAX},
+++ {"LOGNAME_MAX",
+++ {0UL, 0},
+++ {8UL, 0},
+++ CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"LONG_BIT", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"LONG_MAX",
+++ {9223372036854775807UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"LONG_MIN",
+++ {-9223372036854775807L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"MACHINE", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"MAPPED_FILES",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MAPPED_FILES},
+++ {"MAX_CANON",
+++ {0UL, 0},
+++ {_POSIX_MAX_CANON, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_MAX_CANON},
+++ {"MAX_INPUT",
+++ {0UL, 0},
+++ {_POSIX_MAX_INPUT, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_MAX_INPUT},
+++ {"MB_LEN_MAX", {6UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"MCAS_OFFSET",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"MEMLOCK",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MEMLOCK},
+++ {"MEMLOCK_RANGE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MEMLOCK_RANGE},
+++ {"MEMORY_PROTECTION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MEMORY_PROTECTION},
+++ {"MESSAGE_PASSING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MESSAGE_PASSING},
+++ {"MIN_HOLE_SIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ -1},
+++ {"MMAP_FIXED_ALIGNMENT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"MONOTONIC_CLOCK",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_MONOTONIC_CLOCK},
+++ {"MQ_OPEN_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"MQ_PRIO_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"MSEM_LOCKID",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"MULTI_PROCESS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"NACLS_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, -1},
+++ {"NAME_MAX",
+++ {0UL, 0},
+++ {_POSIX_NAME_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_NAME_MAX},
+++ {"NGROUPS_MAX",
+++ {0UL, 0},
+++ {_POSIX_NGROUPS_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_NGROUPS_MAX},
+++ {"NL_ARGMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NL_LANGMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NL_MAX", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"NL_MSGMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NL_NMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NL_SETMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NL_SPECMAX", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"NL_TEXTMAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"NO_TRUNC",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_NO_TRUNC},
+++ {"NPROCESSORS_CONF", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, _SC_NPROCESSORS_CONF},
+++ {"NPROCESSORS_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, -1},
+++ {"NPROCESSORS_ONLN", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, _SC_NPROCESSORS_ONLN},
+++ {"NPROC_CONF", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"NPROC_ONLN", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"NSS_BUFLEN_GROUP",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"NSS_BUFLEN_PASSWD",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"NUM_PROCESSORS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"NZERO", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"OPEN_MAX",
+++ {0UL, 0},
+++ {_POSIX_OPEN_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_OPEN_MAX},
+++ {"OPEN_MAX_CEIL", {0UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_AST, 1, CONF_nop, -1},
+++ {"OSREL_MAJ", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"OSREL_MIN", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"OSREL_PATCH",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"OS_BASE", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"OS_PROVIDER", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"OS_VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_AES,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PAGESIZE",
+++ {0UL, 0},
+++ {4096UL, 0},
+++ CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_PAGESIZE},
+++ {"PAGE_SIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_MINMAX | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_PAGE_SIZE},
+++ {"PASS_MAX",
+++ {0UL, 0},
+++ {8UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PATH",
+++ {0, 0},
+++ {0, "/bin:/usr/bin"},
+++ CONF_DEFER_CALL | CONF_MINMAX | CONF_UNDERSCORE | CONF_STRING | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_confstr,
+++ _CS_PATH},
+++ {"PATH_MAX",
+++ {0UL, 0},
+++ {_POSIX_PATH_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_PATH_MAX},
+++ {"PBS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS},
+++ {"PBS_ACCOUNTING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS_ACCOUNTING},
+++ {"PBS_CHECKPOINT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS_CHECKPOINT},
+++ {"PBS_LOCATE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS_LOCATE},
+++ {"PBS_MESSAGE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS_MESSAGE},
+++ {"PBS_TRACK",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_PBS_TRACK},
+++ {"PHYS_PAGES", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_sysconf, _SC_PHYS_PAGES},
+++ {"PID_MAX",
+++ {99999UL, 0},
+++ {99999UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_sysconf, -1},
+++ {"PII_INTERNET",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_INTERNET_DGRAM",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_INTERNET_STREAM",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_OSI",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_OSI_CLTS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_OSI_COTS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_OSI_M",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_SOCKET",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PII_XTI",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"PIPE_BUF",
+++ {0UL, 0},
+++ {_POSIX_PIPE_BUF, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_PIPE_BUF},
+++ {"POLL", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_sysconf, -1},
+++ {"PRIORITIZED_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_PRIORITIZED_IO},
+++ {"PRIORITY_SCHEDULING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_PRIORITY_SCHEDULING},
+++ {"PRIO_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_PRIO_IO},
+++ {"PROC_RSRC_MGR",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTHREAD_DESTRUCTOR_ITERATIONS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTHREAD_KEYS_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTHREAD_STACK_MIN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTHREAD_THREADS_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTRDIFF_MAX",
+++ {9223372036854775807UL, 0},
+++ {65535UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"PTRDIFF_MIN",
+++ {-9223372036854775807L - 1L, 0},
+++ {-65535L, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"RAW_SOCKETS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_RAW_SOCKETS},
+++ {"READER_WRITER_LOCKS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_READER_WRITER_LOCKS},
+++ {"REALTIME",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"REALTIME_SIGNALS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_REALTIME_SIGNALS},
+++ {"REALTIME_THREADS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"REC_INCR_XFER_SIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_REC_INCR_XFER_SIZE},
+++ {"REC_MAX_XFER_SIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_REC_MAX_XFER_SIZE},
+++ {"REC_MIN_XFER_SIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_REC_MIN_XFER_SIZE},
+++ {"REC_XFER_ALIGN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_REC_XFER_ALIGN},
+++ {"REENTRANT_FUNCTIONS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"REGEXP",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_REGEXP},
+++ {"REGEX_VERSION", {0UL, 0}, {20030916UL, 0}, CONF_FEATURE, CONF_POSIX, 1, CONF_sysconf, -1},
+++ {"RELEASE", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_AST, 1, CONF_nop, -1},
+++ {"RESOURCE_LIMITS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"RE_DUP_MAX",
+++ {0UL, 0},
+++ {_POSIX2_RE_DUP_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_NOSECTION | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_RE_DUP_MAX},
+++ {"RTSIG_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"SATTR_ENABLED", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_pathconf, -1},
+++ {"SAVED_IDS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SAVED_IDS},
+++ {"SCHAR_MAX", {127UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"SCHAR_MIN", {-127L - 1L, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"SECURITY_CLASS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SELECT", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_sysconf, -1},
+++ {"SEMAPHORES",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SEMAPHORES},
+++ {"SEM_NSEMS_MAX",
+++ {0UL, 0},
+++ {_POSIX_SEM_NSEMS_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SEM_NSEMS_MAX},
+++ {"SEM_VALUE_MAX",
+++ {0UL, 0},
+++ {_POSIX_SEM_VALUE_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SEM_VALUE_MAX},
+++ {"SHARED_MEMORY_OBJECTS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SHARED_MEMORY_OBJECTS},
+++ {"SHELL",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SHELL},
+++ {"SHM",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_SHM},
+++ {"SHRT_MAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"SHRT_MIN", {-32767L - 1L, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"SIGQUEUE_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"SIGRT_MAX", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, -1},
+++ {"SIGRT_MIN", {0UL, 0}, {0UL, 0}, 0, CONF_SVID, 1, CONF_sysconf, -1},
+++ {"SIG_ATOMIC_MAX",
+++ {2147483647UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SIG_ATOMIC_MIN",
+++ {-2147483647L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SIZE_MAX",
+++ {UINT_MAX, 0},
+++ {65535UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SLVM_MAXNODES",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SOCK_MAXBUF",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SOFTPOWER", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"SPAWN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SPAWN},
+++ {"SPIN_LOCKS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SPIN_LOCKS},
+++ {"SPORADIC_SERVER",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SPORADIC_SERVER},
+++ {"SRPC_DOMAIN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SSIZE_MAX",
+++ {INT_MAX, 0},
+++ {_POSIX_SSIZE_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"SS_REPL_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"STD_BLK",
+++ {1024UL, 0},
+++ {1024UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"STREAMS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_STREAMS},
+++ {"STREAM_MAX",
+++ {0UL, 0},
+++ {_POSIX_STREAM_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_STREAM_MAX},
+++ {"SW_DEV",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_SW_DEV},
+++ {"SYMLINKS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_pathconf,
+++ -1},
+++ {"SYMLINK_MAX",
+++ {0UL, 0},
+++ {_POSIX_SYMLINK_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_SYMLINK_MAX},
+++ {"SYMLOOP_MAX",
+++ {0UL, 0},
+++ {_POSIX_SYMLOOP_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SYMLOOP_MAX},
+++ {"SYNCHRONIZED_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_SYNCHRONIZED_IO},
+++ {"SYNC_IO",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_SYNC_IO},
+++ {"SYSNAME", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"SYSPID_MAX",
+++ {2UL, 0},
+++ {2UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"THREADS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREADS},
+++ {"THREADS_PRIO_CEILING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"THREADS_PRIO_INHERIT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"THREAD_ATTR_STACKADDR",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_ATTR_STACKADDR},
+++ {"THREAD_ATTR_STACKSIZE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_ATTR_STACKSIZE},
+++ {"THREAD_CPUTIME",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_CPUTIME},
+++ {"THREAD_DESTRUCTOR_ITERATIONS",
+++ {0UL, 0},
+++ {_POSIX_THREAD_DESTRUCTOR_ITERATIONS, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_PREFIX_ONLY | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_DESTRUCTOR_ITERATIONS},
+++ {"THREAD_KEYS_MAX",
+++ {0UL, 0},
+++ {_POSIX_THREAD_KEYS_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_PREFIX_ONLY | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_KEYS_MAX},
+++ {"THREAD_PRIORITY_SCHEDULING",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_PRIORITY_SCHEDULING},
+++ {"THREAD_PRIO_INHERIT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_PRIO_INHERIT},
+++ {"THREAD_PRIO_PROTECT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_PRIO_PROTECT},
+++ {"THREAD_PROCESS_SHARED",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_PROCESS_SHARED},
+++ {"THREAD_SAFE_FUNCTIONS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_SAFE_FUNCTIONS},
+++ {"THREAD_SPORADIC_SERVER",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_SPORADIC_SERVER},
+++ {"THREAD_STACK_MIN",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_STACK_MIN},
+++ {"THREAD_THREADS_MAX",
+++ {0UL, 0},
+++ {_POSIX_THREAD_THREADS_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_PREFIX_ONLY | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_THREAD_THREADS_MAX},
+++ {"TIMEOUTS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TIMEOUTS},
+++ {"TIMERS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TIMERS},
+++ {"TIMER_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TMP",
+++ {0, 0},
+++ {0, "/tmp"},
+++ CONF_MINMAX | CONF_UNDERSCORE | CONF_STRING | CONF_MINMAX_DEF,
+++ CONF_AST,
+++ 1,
+++ CONF_confstr,
+++ -1},
+++ {"TMP_MAX",
+++ {308915776UL, 0},
+++ {10000UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_LIMIT_DEF | CONF_MINMAX_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TRACE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TRACE},
+++ {"TRACE_EVENT_FILTER",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TRACE_EVENT_FILTER},
+++ {"TRACE_EVENT_NAME_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TRACE_INHERIT",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TRACE_INHERIT},
+++ {"TRACE_LOG",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TRACE_LOG},
+++ {"TRACE_NAME_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TRACE_SYS_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TRACE_USER_EVENT_MAX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_NOUNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"TTY_NAME_MAX",
+++ {0UL, 0},
+++ {_POSIX_TTY_NAME_MAX, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TTY_NAME_MAX},
+++ {"TYPED_MEMORY_OBJECTS",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TYPED_MEMORY_OBJECTS},
+++ {"TZNAME_MAX",
+++ {0UL, 0},
+++ {_POSIX_TZNAME_MAX, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_TZNAME_MAX},
+++ {"T_IOV_MAX", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"UCHAR_MAX", {255UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"UCHAR_MIN", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"UID_MAX",
+++ {0UL, 0},
+++ {60002UL, 0},
+++ CONF_LIMIT | CONF_MINMAX | CONF_UNDERSCORE | CONF_MINMAX_DEF,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"UINT_MAX", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"UIO_MAXIOV", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_POSIX, 1, CONF_nop, -1},
+++ {"ULLONG_MAX", {-1L, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"ULONG_MAX", {-1L, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"UNIX",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_UNIX},
+++ {"UPE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ _SC_2_UPE},
+++ {"USER_LIMIT", {0, 0}, {0, 0}, CONF_STRING, CONF_SVID, 1, CONF_sysinfo, -1},
+++ {"USHRT_MAX", {65535UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"V6_ILP32_OFF32",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_V6_ILP32_OFF32},
+++ {"V6_ILP32_OFFBIG",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_V6_ILP32_OFFBIG},
+++ {"V6_LP64_OFF64",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_V6_LP64_OFF64},
+++ {"V6_LPBIG_OFFBIG",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ _SC_V6_LPBIG_OFFBIG},
+++ {"VDISABLE",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_UNDERSCORE | CONF_PREFIX_ONLY,
+++ CONF_POSIX,
+++ 1,
+++ CONF_pathconf,
+++ _PC_VDISABLE},
+++ {"VERSION",
+++ {0, 0},
+++ {0, 0},
+++ CONF_PREFIXED | CONF_STANDARD | CONF_STRING,
+++ CONF_SVID,
+++ 1,
+++ CONF_sysinfo,
+++ -1},
+++ {"VERSION",
+++ {0UL, 0},
+++ {200112UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_PREFIXED | CONF_STANDARD |
+++ CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION",
+++ {0UL, 0},
+++ {200112UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_PREFIXED | CONF_STANDARD |
+++ CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 2,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION",
+++ {0UL, 0},
+++ {600UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_PREFIXED | CONF_STANDARD |
+++ CONF_UNDERSCORE,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ _SC_XOPEN_VERSION},
+++ {"VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_MM | CONF_FEATURE | CONF_PREFIXED | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_XPG,
+++ 3,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_MM | CONF_FEATURE | CONF_PREFIXED | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_XPG,
+++ 4,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION", {0UL, 0}, {0UL, 0}, CONF_PREFIXED | CONF_STANDARD, CONF_GNU, 1, CONF_nop, -1},
+++ {"VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_PREFIXED | CONF_STANDARD,
+++ CONF_TRUSTEDBSD,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"VERSION_88",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_LIMIT | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION_88", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"VERSION_90",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_LIMIT | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION_90", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"VERSION_93",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_FEATURE | CONF_LIMIT | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_POSIX,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"VERSION_93", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_C, 1, CONF_nop, -1},
+++ {"WCHAR_MAX",
+++ {2147483647UL, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"WCHAR_MIN",
+++ {-2147483647L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"WINT_MAX", {2147483647UL, 0}, {0UL, 0}, CONF_LIMIT | CONF_LIMIT_DEF, CONF_C, 1, CONF_nop, -1},
+++ {"WINT_MIN",
+++ {-2147483647L - 1L, 0},
+++ {0UL, 0},
+++ CONF_LIMIT | CONF_LIMIT_DEF,
+++ CONF_C,
+++ 1,
+++ CONF_nop,
+++ -1},
+++ {"WORD_BIT", {0UL, 0}, {0UL, 0}, CONF_LIMIT, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"XATTR_ENABLED", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_pathconf, -1},
+++ {"XATTR_EXISTS", {0UL, 0}, {0UL, 0}, 0, CONF_SUN, 1, CONF_pathconf, -1},
+++ {"XCU_VERSION",
+++ {0UL, 0},
+++ {0UL, 0},
+++ CONF_DEFER_CALL | CONF_DEFER_MM | CONF_FEATURE | CONF_STANDARD | CONF_UNDERSCORE,
+++ CONF_XOPEN,
+++ 1,
+++ CONF_sysconf,
+++ -1},
+++ {"XPG2", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"XPG3", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_XOPEN, 1, CONF_nop, -1},
+++ {"XPG4", {0UL, 0}, {0UL, 0}, CONF_FEATURE | CONF_UNDERSCORE, CONF_XOPEN, 1, CONF_nop, -1},
+++};
+++
+++const int conf_elements = (int)sizeof(conf) / (int)sizeof(conf[0]);
diff --git a/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c.in b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c.in
new file mode 100644
index 000000000000..68d369c13c8c
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.c.in
@@ -0,0 +1,42 @@
+--- files/patch-src_lib_libast_comp_conftab.c.in.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_comp_conftab.c.in
+@@ -0,0 +1,39 @@
++--- src/lib/libast/comp/conftab.c.in.orig 2019-04-16 20:04:19 UTC
+++++ src/lib/libast/comp/conftab.c.in
++@@ -1,36 +0,0 @@
++-#include <config_ast.h>
++-
++-{headers}
++-
++-#include <limits.h>
++-#include <stdbool.h>
++-#include <stdint.h>
++-#include <sys/types.h>
++-#include <unistd.h>
++-#include <sys/param.h>
++-#include <sys/stat.h>
++-
++-#include "conftab.h"
++-
++-//
++-// Prefix strings -- the first few are indexed by Conf_t.standard.
++-//
++-const Prefix_t prefix[] = {{
++- {prefix_standards}
++- {{"XX", 2, CONF_POSIX, CONF_nop}},
++- {{"CS", 2, CONF_POSIX, CONF_confstr}},
++- {{"PC", 2, CONF_POSIX, CONF_pathconf}},
++- {{"SC", 2, CONF_POSIX, CONF_sysconf}},
++- {{"SI", 2, CONF_SVID, CONF_sysinfo}},
++-}};
++-
++-const int prefix_elements = (int)sizeof(prefix) / (int)sizeof(prefix[0]);
++-
++-//
++-// Conf strings sorted in ascending order.
++-//
++-const Conf_t conf[] = {{
++-{getconf}
++-}};
++-
++-const int conf_elements = (int)sizeof(conf) / (int)sizeof(conf[0]);
diff --git a/shells/ksh93/files/patch-src__lib__libast__comp__conftab.h.in b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.h.in
new file mode 100644
index 000000000000..a639d977379f
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__comp__conftab.h.in
@@ -0,0 +1,80 @@
+--- files/patch-src_lib_libast_comp_conftab.h.in.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_comp_conftab.h.in
+@@ -0,0 +1,77 @@
++--- src/lib/libast/comp/conftab.h.in.orig 2019-04-16 20:04:19 UTC
+++++ src/lib/libast/comp/conftab.h.in
++@@ -1,74 +0,0 @@
++-#ifndef _CONFTAB_H
++-#define _CONFTAB_H
++-
++-#include <config_ast.h>
++-
++-#if !defined(const) && !defined(__STDC__) && !defined(__cplusplus) && !defined(c_plusplus)
++-#define const
++-#endif
++-
++-#define conf _ast_conf_data
++-#define conf_elements _ast_conf_ndata
++-
++-#define prefix _ast_conf_prefix
++-#define prefix_elements _ast_conf_nprefix
++-
++-#define CONF_nop 0
++-#define CONF_confstr 1
++-#define CONF_pathconf 2
++-#define CONF_sysconf 3
++-#define CONF_sysinfo 4
++-
++-{conf_standards}
++-
++-{getconf}
++-
++-#define CONF_DEFER_CALL 0x0001
++-#define CONF_DEFER_MM 0x0002
++-#define CONF_FEATURE 0x0004
++-#define CONF_LIMIT 0x0008
++-#define CONF_LIMIT_DEF 0x0010
++-#define CONF_MINMAX 0x0020
++-#define CONF_MINMAX_DEF 0x0040
++-#define CONF_NOSECTION 0x0080
++-#define CONF_NOUNDERSCORE 0x0100
++-#define CONF_PREFIX_ONLY 0x0200
++-#define CONF_PREFIXED 0x0400
++-#define CONF_STANDARD 0x0800
++-#define CONF_STRING 0x1000
++-#define CONF_UNDERSCORE 0x2000
++-#define CONF_USER 0x4000
++-
++-struct Conf_s;
++-typedef struct Conf_s Conf_t;
++-
++-typedef struct Value_s {{
++- int64_t number;
++- const char *string;
++- }} Value_t;
++-
++-struct Conf_s {{
++- const char name[{name_max}];
++- Value_t limit;
++- Value_t minmax;
++- unsigned int flags;
++- short standard;
++- short section;
++- short call;
++- short op;
++- }};
++-
++-typedef struct Prefix_s {{
++- const char name[16];
++- short length;
++- short standard;
++- short call;
++- }} Prefix_t;
++-
++-extern const Conf_t conf[];
++-extern const int conf_elements;
++-
++-extern const Prefix_t prefix[];
++-extern const int prefix_elements;
++-
++-#endif
diff --git a/shells/ksh93/files/patch-src__lib__libast__include__conftab.h b/shells/ksh93/files/patch-src__lib__libast__include__conftab.h
new file mode 100644
index 000000000000..f12491a91a02
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__include__conftab.h
@@ -0,0 +1,92 @@
+--- files/patch-src_lib_libast_include_conftab.h.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_include_conftab.h
+@@ -0,0 +1,89 @@
++--- src/lib/libast/include/conftab.h.orig 2019-08-04 14:58:29 UTC
+++++ src/lib/libast/include/conftab.h
++@@ -0,0 +1,86 @@
+++#ifndef _CONFTAB_H
+++#define _CONFTAB_H
+++
+++#include <config_ast.h>
+++
+++#if !defined(const) && !defined(__STDC__) && !defined(__cplusplus) && !defined(c_plusplus)
+++#define const
+++#endif
+++
+++#define conf _ast_conf_data
+++#define conf_elements _ast_conf_ndata
+++
+++#define prefix _ast_conf_prefix
+++#define prefix_elements _ast_conf_nprefix
+++
+++#define CONF_nop 0
+++#define CONF_confstr 1
+++#define CONF_pathconf 2
+++#define CONF_sysconf 3
+++#define CONF_sysinfo 4
+++
+++#define CONF_C 0
+++#define CONF_SUN 1
+++#define CONF_POSIX 2
+++#define CONF_SVID 3
+++#define CONF_XOPEN 4
+++#define CONF_SCO 5
+++#define CONF_AST 6
+++#define CONF_AES 7
+++#define CONF_XPG 8
+++#define CONF_GNU 9
+++#define CONF_TRUSTEDBSD 10
+++#define CONF_call 11
+++
+++#define _pth_getconf "/usr/bin/getconf"
+++#define _pth_getconf_a "-a"
+++
+++#define CONF_DEFER_CALL 0x0001
+++#define CONF_DEFER_MM 0x0002
+++#define CONF_FEATURE 0x0004
+++#define CONF_LIMIT 0x0008
+++#define CONF_LIMIT_DEF 0x0010
+++#define CONF_MINMAX 0x0020
+++#define CONF_MINMAX_DEF 0x0040
+++#define CONF_NOSECTION 0x0080
+++#define CONF_NOUNDERSCORE 0x0100
+++#define CONF_PREFIX_ONLY 0x0200
+++#define CONF_PREFIXED 0x0400
+++#define CONF_STANDARD 0x0800
+++#define CONF_STRING 0x1000
+++#define CONF_UNDERSCORE 0x2000
+++#define CONF_USER 0x4000
+++
+++struct Conf_s;
+++typedef struct Conf_s Conf_t;
+++
+++typedef struct Value_s {
+++ int64_t number;
+++ const char *string;
+++} Value_t;
+++
+++struct Conf_s {
+++ const char name[32];
+++ Value_t limit;
+++ Value_t minmax;
+++ unsigned int flags;
+++ short standard;
+++ short section;
+++ short call;
+++ short op;
+++};
+++
+++typedef struct Prefix_s {
+++ const char name[16];
+++ short length;
+++ short standard;
+++ short call;
+++} Prefix_t;
+++
+++extern const Conf_t conf[];
+++extern const int conf_elements;
+++
+++extern const Prefix_t prefix[];
+++extern const int prefix_elements;
+++
+++#endif
diff --git a/shells/ksh93/files/patch-src__lib__libast__meson.build b/shells/ksh93/files/patch-src__lib__libast__meson.build
new file mode 100644
index 000000000000..d4f0b9a82d41
--- /dev/null
+++ b/shells/ksh93/files/patch-src__lib__libast__meson.build
@@ -0,0 +1,13 @@
+--- files/patch-src_lib_libast_meson.build.orig 2019-08-04 16:51:09 UTC
++++ files/patch-src_lib_libast_meson.build
+@@ -0,0 +1,10 @@
++--- src/lib/libast/meson.build.orig 2019-08-04 14:59:43 UTC
+++++ src/lib/libast/meson.build
++@@ -1,6 +1,4 @@
++-# The conftab.c file is unusual in that it is dynamically generated during the Meson config step
++-# and is placed in the build tree.
++-libast_files = [meson.build_root() + '/src/lib/libast/comp/conftab.c']
+++libast_files = ['comp/conftab.c']
++ libast_incdir = include_directories('include', 'aso', 'cdt', 'comp',
++ 'sfio', 'path', 'port', 'string', 'misc',
++ 'tm')