remove unsupported nonstandard sysconf macros and their table entries
authorRich Felker <dalias@aerifal.cx>
Mon, 19 May 2014 16:18:16 +0000 (12:18 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 19 May 2014 16:18:16 +0000 (12:18 -0400)
some of these may have been from ancient (pre-SUSv2) POSIX versions;
more likely, they were from POSIX drafts or glibc interpretations of
what ancient versions of POSIX should have added (instead they made
they described functionality mandatory and/or dropped it completely).
others are purely glibc-isms, many of them ill-thought-out, like
providing ways to lookup the min/max values of types at runtime
(despite the impossibility of them changing at runtime and the
impossibility of representing ULONG_MAX in a return value of type
long).

since our sysconf implementation does not support or return meaningful
values for any of these, it's harmful to have the macros around;
applications' build scripts may detect and attempt to use them, only
to get -1/EINVAL as a result.

if removing them does break some applications, and it's determined
that the usage was reasonable, some of these could be added back on an
as-needed basis, but they should return actual meaningful values, not
junk like they were returning before.

include/unistd.h
src/conf/sysconf.c

index a906552d8a3df73412f0bf501ca2278849830567..bb19cd898310e7a8ac2bfcbc72189086d8f93a3e 100644 (file)
@@ -319,11 +319,9 @@ int eaccess(const char *, int);
 #define _SC_BC_SCALE_MAX       38
 #define _SC_BC_STRING_MAX      39
 #define _SC_COLL_WEIGHTS_MAX   40
-#define _SC_EQUIV_CLASS_MAX    41
 #define _SC_EXPR_NEST_MAX      42
 #define _SC_LINE_MAX   43
 #define _SC_RE_DUP_MAX 44
-#define _SC_CHARCLASS_NAME_MAX 45
 #define _SC_2_VERSION  46
 #define _SC_2_C_BIND   47
 #define _SC_2_C_DEV    48
@@ -331,21 +329,8 @@ int eaccess(const char *, int);
 #define _SC_2_FORT_RUN 50
 #define _SC_2_SW_DEV   51
 #define _SC_2_LOCALEDEF        52
-#define _SC_PII        53
-#define _SC_PII_XTI    54
-#define _SC_PII_SOCKET 55
-#define _SC_PII_INTERNET       56
-#define _SC_PII_OSI    57
-#define _SC_POLL       58
-#define _SC_SELECT     59
 #define _SC_UIO_MAXIOV 60 /* !! */
 #define _SC_IOV_MAX    60
-#define _SC_PII_INTERNET_STREAM        61
-#define _SC_PII_INTERNET_DGRAM 62
-#define _SC_PII_OSI_COTS       63
-#define _SC_PII_OSI_CLTS       64
-#define _SC_PII_OSI_M  65
-#define _SC_T_IOV_MAX  66
 #define _SC_THREADS    67
 #define _SC_THREAD_SAFE_FUNCTIONS      68
 #define _SC_GETGR_R_SIZE_MAX   69
@@ -375,35 +360,11 @@ int eaccess(const char *, int);
 #define _SC_XOPEN_ENH_I18N     93
 #define _SC_XOPEN_SHM  94
 #define _SC_2_CHAR_TERM        95
-#define _SC_2_C_VERSION        96
 #define _SC_2_UPE      97
 #define _SC_XOPEN_XPG2 98
 #define _SC_XOPEN_XPG3 99
 #define _SC_XOPEN_XPG4 100
-#define _SC_CHAR_BIT   101
-#define _SC_CHAR_MAX   102
-#define _SC_CHAR_MIN   103
-#define _SC_INT_MAX    104
-#define _SC_INT_MIN    105
-#define _SC_LONG_BIT   106
-#define _SC_WORD_BIT   107
-#define _SC_MB_LEN_MAX 108
 #define _SC_NZERO      109
-#define _SC_SSIZE_MAX  110
-#define _SC_SCHAR_MAX  111
-#define _SC_SCHAR_MIN  112
-#define _SC_SHRT_MAX   113
-#define _SC_SHRT_MIN   114
-#define _SC_UCHAR_MAX  115
-#define _SC_UINT_MAX   116
-#define _SC_ULONG_MAX  117
-#define _SC_USHRT_MAX  118
-#define _SC_NL_ARGMAX  119
-#define _SC_NL_LANGMAX 120
-#define _SC_NL_MSGMAX  121
-#define _SC_NL_NMAX    122
-#define _SC_NL_SETMAX  123
-#define _SC_NL_TEXTMAX 124
 #define _SC_XBS5_ILP32_OFF32   125
 #define _SC_XBS5_ILP32_OFFBIG  126
 #define _SC_XBS5_LP64_OFF64    127
@@ -413,40 +374,19 @@ int eaccess(const char *, int);
 #define _SC_XOPEN_REALTIME_THREADS     131
 #define _SC_ADVISORY_INFO      132
 #define _SC_BARRIERS   133
-#define _SC_BASE       134
-#define _SC_C_LANG_SUPPORT     135
-#define _SC_C_LANG_SUPPORT_R   136
 #define _SC_CLOCK_SELECTION    137
 #define _SC_CPUTIME    138
 #define _SC_THREAD_CPUTIME     139
-#define _SC_DEVICE_IO  140
-#define _SC_DEVICE_SPECIFIC    141
-#define _SC_DEVICE_SPECIFIC_R  142
-#define _SC_FD_MGMT    143
-#define _SC_FIFO       144
-#define _SC_PIPE       145
-#define _SC_FILE_ATTRIBUTES    146
-#define _SC_FILE_LOCKING       147
-#define _SC_FILE_SYSTEM        148
 #define _SC_MONOTONIC_CLOCK    149
-#define _SC_MULTI_PROCESS      150
-#define _SC_SINGLE_PROCESS     151
-#define _SC_NETWORKING 152
 #define _SC_READER_WRITER_LOCKS        153
 #define _SC_SPIN_LOCKS 154
 #define _SC_REGEXP     155
-#define _SC_REGEX_VERSION      156
 #define _SC_SHELL      157
-#define _SC_SIGNALS    158
 #define _SC_SPAWN      159
 #define _SC_SPORADIC_SERVER    160
 #define _SC_THREAD_SPORADIC_SERVER     161
-#define _SC_SYSTEM_DATABASE    162
-#define _SC_SYSTEM_DATABASE_R  163
 #define _SC_TIMEOUTS   164
 #define _SC_TYPED_MEMORY_OBJECTS       165
-#define _SC_USER_GROUPS        166
-#define _SC_USER_GROUPS_R      167
 #define _SC_2_PBS      168
 #define _SC_2_PBS_ACCOUNTING   169
 #define _SC_2_PBS_LOCATE       170
index 136bc1d93bbb02efd00aa77b12b005dc8424b2a9..b8b761d01a3156c644179dfe8aeb670d34b36a31 100644 (file)
@@ -65,11 +65,9 @@ long sysconf(int name)
                [_SC_BC_SCALE_MAX] = _POSIX2_BC_SCALE_MAX,
                [_SC_BC_STRING_MAX] = _POSIX2_BC_STRING_MAX,
                [_SC_COLL_WEIGHTS_MAX] = COLL_WEIGHTS_MAX,
-               [_SC_EQUIV_CLASS_MAX] = -1, /* ?? */
                [_SC_EXPR_NEST_MAX] = -1,
                [_SC_LINE_MAX] = -1,
                [_SC_RE_DUP_MAX] = RE_DUP_MAX,
-               [_SC_CHARCLASS_NAME_MAX] = -1, /* ?? */
                [_SC_2_VERSION] = VER,
                [_SC_2_C_BIND] = VER,
                [_SC_2_C_DEV] = -1,
@@ -77,20 +75,7 @@ long sysconf(int name)
                [_SC_2_FORT_RUN] = -1,
                [_SC_2_SW_DEV] = -1,
                [_SC_2_LOCALEDEF] = -1,
-               [_SC_PII] = -1, /* ????????? */
-               [_SC_PII_XTI] = -1,
-               [_SC_PII_SOCKET] = -1,
-               [_SC_PII_INTERNET] = -1,
-               [_SC_PII_OSI] = -1,
-               [_SC_POLL] = 1,
-               [_SC_SELECT] = 1,
                [_SC_IOV_MAX] = IOV_MAX,
-               [_SC_PII_INTERNET_STREAM] = -1,
-               [_SC_PII_INTERNET_DGRAM] = -1,
-               [_SC_PII_OSI_COTS] = -1,
-               [_SC_PII_OSI_CLTS] = -1,
-               [_SC_PII_OSI_M] = -1,
-               [_SC_T_IOV_MAX] = -1,
                [_SC_THREADS] = VER,
                [_SC_THREAD_SAFE_FUNCTIONS] = VER,
                [_SC_GETGR_R_SIZE_MAX] = -1,
@@ -120,35 +105,11 @@ long sysconf(int name)
                [_SC_XOPEN_ENH_I18N] = 1,
                [_SC_XOPEN_SHM] = 1,
                [_SC_2_CHAR_TERM] = -1,
-               [_SC_2_C_VERSION] = -1,
                [_SC_2_UPE] = -1,
                [_SC_XOPEN_XPG2] = -1,
                [_SC_XOPEN_XPG3] = -1,
                [_SC_XOPEN_XPG4] = -1,
-               [_SC_CHAR_BIT] = -1,
-               [_SC_CHAR_MAX] = -1,
-               [_SC_CHAR_MIN] = -1,
-               [_SC_INT_MAX] = -1,
-               [_SC_INT_MIN] = -1,
-               [_SC_LONG_BIT] = -1,
-               [_SC_WORD_BIT] = -1,
-               [_SC_MB_LEN_MAX] = -1,
                [_SC_NZERO] = NZERO,
-               [_SC_SSIZE_MAX] = -1,
-               [_SC_SCHAR_MAX] = -1,
-               [_SC_SCHAR_MIN] = -1,
-               [_SC_SHRT_MAX] = -1,
-               [_SC_SHRT_MIN] = -1,
-               [_SC_UCHAR_MAX] = -1,
-               [_SC_UINT_MAX] = -1,
-               [_SC_ULONG_MAX] = -1,
-               [_SC_USHRT_MAX] = -1,
-               [_SC_NL_ARGMAX] = -1,
-               [_SC_NL_LANGMAX] = -1,
-               [_SC_NL_MSGMAX] = -1,
-               [_SC_NL_NMAX] = -1,
-               [_SC_NL_SETMAX] = -1,
-               [_SC_NL_TEXTMAX] = -1,
                [_SC_XBS5_ILP32_OFF32] = -1,
                [_SC_XBS5_ILP32_OFFBIG] = sizeof(long)==4 ? 1 : JT_ZERO,
                [_SC_XBS5_LP64_OFF64] = sizeof(long)==8 ? 1 : JT_ZERO,
@@ -158,40 +119,19 @@ long sysconf(int name)
                [_SC_XOPEN_REALTIME_THREADS] = -1,
                [_SC_ADVISORY_INFO] = VER,
                [_SC_BARRIERS] = VER,
-               [_SC_BASE] = -1,
-               [_SC_C_LANG_SUPPORT] = -1,
-               [_SC_C_LANG_SUPPORT_R] = -1,
                [_SC_CLOCK_SELECTION] = VER,
                [_SC_CPUTIME] = VER,
                [_SC_THREAD_CPUTIME] = VER,
-               [_SC_DEVICE_IO] = -1,
-               [_SC_DEVICE_SPECIFIC] = -1,
-               [_SC_DEVICE_SPECIFIC_R] = -1,
-               [_SC_FD_MGMT] = -1,
-               [_SC_FIFO] = -1,
-               [_SC_PIPE] = -1,
-               [_SC_FILE_ATTRIBUTES] = -1,
-               [_SC_FILE_LOCKING] = -1,
-               [_SC_FILE_SYSTEM] = -1,
                [_SC_MONOTONIC_CLOCK] = VER,
-               [_SC_MULTI_PROCESS] = -1,
-               [_SC_SINGLE_PROCESS] = -1,
-               [_SC_NETWORKING] = -1,
                [_SC_READER_WRITER_LOCKS] = VER,
                [_SC_SPIN_LOCKS] = VER,
                [_SC_REGEXP] = 1,
-               [_SC_REGEX_VERSION] = -1,
                [_SC_SHELL] = 1,
-               [_SC_SIGNALS] = -1,
                [_SC_SPAWN] = VER,
                [_SC_SPORADIC_SERVER] = -1,
                [_SC_THREAD_SPORADIC_SERVER] = -1,
-               [_SC_SYSTEM_DATABASE] = -1,
-               [_SC_SYSTEM_DATABASE_R] = -1,
                [_SC_TIMEOUTS] = VER,
                [_SC_TYPED_MEMORY_OBJECTS] = -1,
-               [_SC_USER_GROUPS] = -1,
-               [_SC_USER_GROUPS_R] = -1,
                [_SC_2_PBS] = -1,
                [_SC_2_PBS_ACCOUNTING] = -1,
                [_SC_2_PBS_LOCATE] = -1,