Hi,
We've noticed an interesting problem recently with the version of stdbuf
(really libstdbuf.so) from coreutils version 8.24 on SPARC in Solaris 12.
If you do something like:
$ stdbuf -oL echo
it generates:
ld.so.1: echo: fatal: relocation error: file /usr/lib/64/libstdbuf.so:
symbol
program_name: referenced symbol not found
Killed
but that same command works just fine for stdbuf and libstdbuf.so from
8.24 in Solaris 12 on x86.
There's a similar problem for the 32-bit version as well. I'll use that
to describe what's going on.
I took the command we use to compile 32-bit libstdbuf.c on SPARC:
$ /ws/on12-tools/SUNWspro/solarisstudio12.4/bin/cc -I.
-I/builds/richb/22510525-coreutils/components/coreutils/coreutils-8.24
-I./lib -Ilib
-I/builds/richb/22510525-coreutils/components/coreutils/coreutils-8.24/lib
-Isrc
-I/builds/richb/22510525-coreutils/components/coreutils/coreutils-8.24/src
-I/usr/include/gmp -D_REENTRANT -fPIC -m32 -xO4 -xtarget=ultra2
-xarch=sparcvis -xchip=ultra2 -Qoption cg -xregs=no%appl -W2,-xwrap_int
-xmemalign=8s -mt -c -o src/src_libstdbuf_so-libstdbuf.o `test -f
'src/libstdbuf.c' || echo
'/builds/richb/22510525-coreutils/components/coreutils/coreutils-8.24/'`src/libstdbuf.c
and adjusted that to use "-E" instead of "-c" and reran it to generate a
self-contained lsb.c source file (attached).
I then compiled/linked that on SPARC and x86 (using the commands that are
generated by our Userland build environment) and noticed the following
differences:
x86:
$ /ws/on12-tools/SUNWspro/solarisstudio12.4/bin/cc -fPIC -m32 -xO4
'-xchip=pentium' '-xregs=no%frameptr' -mt -shared -o lsb.so lsb.c
"src/libstdbuf.c", line 97: warning: shift count negative or too big: << 63
$ elfdump lsb.so | grep program_name
$
SPARC:
$ /ws/on12-tools/SUNWspro/solarisstudio12.4/bin/cc -fPIC -m32 -xO4
'-xtarget=ultra2' '-xarch=sparcvis' '-xchip=ultra2' -Qoption cg
'-xregs=no%appl' -W2,-xwrap_int '-xmemalign=8s' -mt -shared -o lsb.so lsb.c
"src/libstdbuf.c", line 97: warning: shift count negative or too big: << 63
$ elfdump lsb.so | grep program_name
[1] 0 0x4 OBJT GLOB D 0 UNDEF program_name
[42] 0 0x4 OBJT GLOB D 0 UNDEF program_name
2 [1] program_name
[1] 0x1177c 0 R_SPARC_GLOB_DAT program_name
[12] R_SPARC_GLOB_DAT 0x1177c 0 0 .got program_name
$
Now you can see from lsb.c that the code includes:
extern const char *program_name;
...
static inline void
emit_try_help (void)
{
fprintf ( ( & __iob [ 2 ] ), gettext ( "Try '%s --help' for more
information.\n" ), program_name);
}
It looks like the Studio compiler for x86 is nicely optimizing the
emit_try_help() away as it's not being used, but the SPARC version of
the Studio compiler isn't, and is causing the problem.
(Note that this isn't a problem with GNU compiling/linking on Solaris
for both
x86 and SPARC).
Now I can "fix" this by adding progname.o (where the program_name variable
is defined) to libstdbuf.so as it's being linked.
$ /ws/on12-tools/SUNWspro/solarisstudio12.4/bin/cc -fPIC -m32 -xO4
'-xarch=sparcvis' '-xchip=ultra2' '-xregs=no%appl' '-xtarget=ultra2'
-Qoption cg -W2,-xwrap_int '-xmemalign=8s' -mt -shared -o mylsb.so
build/sparcv7/lib/progname.o lsb.c
"src/libstdbuf.c", line 97: warning: shift count negative or too big: << 63
$ elfdump mylsb.so | grep program_name
[20] 0x11ae4 0x4 OBJT GLOB D 0 .data program_name
[26] 0x1010 0xf0 FUNC GLOB D 0 .text set_program_name
[63] 0x11ae4 0x4 OBJT GLOB D 0 .data program_name
[69] 0x1010 0xf0 FUNC GLOB D 0 .text set_program_name
[42] 0x1010 0xf0 FUNC GLOB D 0 .text set_program_name
[36] 0x11ae4 0x4 OBJT GLOB D 0 .data program_name
[20] program_name
26 [26] set_program_name
[2] 0x11a10 0 R_SPARC_GLOB_DAT program_name
[23] R_SPARC_HI22 0x10d4 0 0 .text program_name
[24] R_SPARC_LO10 0x10d8 0 0 .text program_name
[25] R_SPARC_GLOB_DAT 0x11a10 0 0 .got program_name
but program_name really is an undefined variable here in this context,
so I was
wondering if there was a better fix that was needed here.
Thanks in consideration.
PS: Going to bed now; back online in a few hours...
# 1 "src/libstdbuf.c"
# 16
# 1 "./lib/config.h"
# 9
# 12
# 15
# 18
# 21
# 24
# 27
# 31
# 34
# 48
# 56
# 59
# 76
# 89
# 96
# 100
# 103
# 107
# 120
# 124
# 127
# 142
# 150
# 153
# 157
# 161
# 171
# 174
# 182
# 185
# 190
# 194
# 198
# 202
# 206
# 210
# 214
# 218
# 222
# 226
# 230
# 234
# 238
# 242
# 246
# 250
# 254
# 258
# 262
# 266
# 270
# 274
# 278
# 284
# 289
# 293
# 297
# 301
# 305
# 309
# 312
# 315
# 318
# 321
# 324
# 328
# 331
# 334
# 337
# 340
# 343
# 346
# 349
# 352
# 355
# 358
# 361
# 364
# 367
# 370
# 373
# 376
# 379
# 382
# 385
# 388
# 391
# 394
# 397
# 400
# 403
# 406
# 409
# 412
# 415
# 418
# 421
# 424
# 427
# 430
# 433
# 436
# 439
# 442
# 445
# 448
# 451
# 454
# 457
# 460
# 463
# 466
# 469
# 472
# 475
# 478
# 481
# 484
# 487
# 490
# 493
# 496
# 499
# 502
# 505
# 508
# 511
# 514
# 517
# 520
# 523
# 526
# 529
# 532
# 535
# 538
# 541
# 544
# 547
# 550
# 553
# 556
# 559
# 562
# 565
# 568
# 571
# 574
# 577
# 580
# 583
# 586
# 589
# 592
# 595
# 598
# 601
# 604
# 607
# 610
# 613
# 616
# 619
# 622
# 625
# 628
# 631
# 634
# 637
# 640
# 643
# 646
# 649
# 652
# 655
# 658
# 661
# 664
# 667
# 670
# 673
# 676
# 679
# 682
# 685
# 688
# 691
# 694
# 697
# 700
# 703
# 706
# 709
# 712
# 715
# 718
# 721
# 724
# 727
# 730
# 733
# 736
# 739
# 743
# 747
# 751
# 826
# 833
# 837
# 840
# 843
# 858
# 864
# 868
# 871
# 874
# 880
# 883
# 887
# 891
# 894
# 900
# 903
# 906
# 909
# 912
# 916
# 920
# 928
# 932
# 936
# 939
# 943
# 947
# 952
# 956
# 960
# 964
# 968
# 972
# 976
# 980
# 984
# 988
# 992
# 996
# 1000
# 1004
# 1008
# 1012
# 1016
# 1020
# 1024
# 1028
# 1032
# 1036
# 1040
# 1044
# 1048
# 1052
# 1056
# 1060
# 1064
# 1068
# 1072
# 1076
# 1080
# 1084
# 1088
# 1092
# 1096
# 1100
# 1104
# 1108
# 1112
# 1116
# 1120
# 1123
# 1127
# 1131
# 1135
# 1140
# 1144
# 1148
# 1152
# 1156
# 1160
# 1164
# 1168
# 1172
# 1176
# 1180
# 1184
# 1188
# 1192
# 1196
# 1200
# 1204
# 1208
# 1212
# 1215
# 1219
# 1224
# 1228
# 1231
# 1236
# 1240
# 1244
# 1247
# 1252
# 1256
# 1260
# 1264
# 1268
# 1272
# 1276
# 1280
# 1283
# 1286
# 1289
# 1292
# 1298
# 1301
# 1304
# 1313
# 1316
# 1322
# 1325
# 1328
# 1331
# 1334
# 1337
# 1340
# 1347
# 1350
# 1353
# 1365
# 1368
# 1371
# 1374
# 1377
# 1386
# 1389
# 1392
# 1398
# 1404
# 1407
# 1411
# 1414
# 1417
# 1429
# 1432
# 1435
# 1438
# 1441
# 1444
# 1447
# 1453
# 1456
# 1459
# 1462
# 1465
# 1471
# 1474
# 1477
# 1480
# 1483
# 1486
# 1489
# 1495
# 1498
# 1507
# 1512
# 1521
# 1524
# 1528
# 1531
# 1534
# 1537
# 1543
# 1546
# 1549
# 1552
# 1555
# 1561
# 1564
# 1567
# 1570
# 1573
# 1576
# 1579
# 1585
# 1588
# 1594
# 1600
# 1603
# 1615
# 1618
# 1627
# 1630
# 1633
# 1636
# 1649
# 1652
# 1655
# 1659
# 1665
# 1668
# 1671
# 1674
# 1680
# 1683
# 1686
# 1699
# 1702
# 1705
# 1708
# 1717
# 1720
# 1730
# 1733
# 1736
# 1754
# 1760
# 1763
# 1781
# 1785
# 1788
# 1791
# 1794
# 1800
# 1812
# 1815
# 1818
# 1821
# 1824
# 1827
# 1830
# 1833
# 1836
# 1839
# 1842
# 1846
# 1849
# 1852
# 1855
# 1861
# 1867
# 1879
# 1882
# 1885
# 1894
# 1900
# 1903
# 1906
# 1909
# 1912
# 1915
# 1918
# 1921
# 1924
# 1927
# 1933
# 1936
# 1939
# 1942
# 1945
# 1948
# 1954
# 1959
# 1968
# 1972
# 1975
# 1978
# 1981
# 1984
# 1987
# 1990
# 1993
# 1996
# 1999
# 2002
# 2005
# 2008
# 2011
# 2014
# 2020
# 2023
# 2029
# 2032
# 2035
# 2038
# 2041
# 2054
# 2060
# 2063
# 2078
# 2084
# 2099
# 2114
# 2124
# 2127
# 2130
# 2133
# 2142
# 2145
# 2148
# 2151
# 2154
# 2157
# 2160
# 2163
# 2172
# 2175
# 2178
# 2181
# 2184
# 2187
# 2191
# 2197
# 2200
# 2203
# 2212
# 2215
# 2218
# 2224
# 2239
# 2242
# 2245
# 2248
# 2251
# 2254
# 2257
# 2263
# 2266
# 2269
# 2272
# 2275
# 2278
# 2284
# 2293
# 2302
# 2305
# 2311
# 2314
# 2317
# 2320
# 2326
# 2329
# 2332
# 2335
# 2338
# 2344
# 2348
# 2351
# 2354
# 2358
# 2361
# 2364
# 2367
# 2370
# 2373
# 2376
# 2379
# 2382
# 2385
# 2388
# 2391
# 2394
# 2397
# 2400
# 2406
# 2409
# 2415
# 2418
# 2421
# 2424
# 2427
# 2430
# 2433
# 2436
# 2439
# 2445
# 2448
# 2451
# 2457
# 2460
# 2464
# 2467
# 2470
# 2473
# 2482
# 2497
# 2501
# 2507
# 2519
# 2528
# 2531
# 2534
# 2538
# 2542
# 2545
# 2548
# 2563
# 2573
# 2577
# 2580
# 2584
# 2590
# 2612
# 2617
# 2621
# 2625
# 2629
# 2634
# 2639
# 2643
# 2648
# 2652
# 2656
# 2661
# 2669
# 2672
# 2677
# 2680
# 2684
# 2688
# 2692
# 2697
# 2701
# 2705
# 2708
# 2712
# 2722
# 2725
# 2728
# 2740
# 2743
# 2746
# 2749
# 2755
# 2762
# 2769
# 2772
# 2776
# 2782
# 2786
# 2790
# 2794
# 2801
# 2805
# 2812
# 2823
# 2827
# 2831
# 2835
# 2837
# 2841
# 2848
# 2854
# 2861
# 2865
# 2869
# 2873
# 2877
# 2887
# 2893
# 2911
# 2914
# 2924
# 2933
# 2943
# 2946
# 2950
# 2956
# 2963
# 2969
# 2973
# 2977
# 2981
# 2985
# 2989
# 2993
# 2995
# 2999
# 3005
# 3011
# 3014
# 3021
# 3031
# 3043
# 3046
# 3052
# 3062
# 3081
# 3085
# 3089
# 3096
# 3100
# 3103
# 3106
# 3110
# 3176
# 3201
# 3207
# 3213
# 3219
# 3223
# 3225
# 3241
# 3262
# 3274
# 3278
# 3281
# 3284
# 3287
# 3290
# 3293
# 3296
# 3299
# 3302
# 3305
# 3308
# 3311
# 3314
# 3317
# 3320
# 3325
# 3334
# 3358
# 3361
# 3371
# 3378
# 3385
# 3395
# 1 "./lib/stdio.h"
# 18
# 22
# 36
# 39
# 41
# 1 "lib/stdio.h"
# 18
# 22
# 25
# 32
# 1 "/usr/include/stdio.h"
# 4
# 11
# 14
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 7
# 21
# 1 "/usr/include/sys/ccompile.h"
# 4
# 7
# 12
# 16
# 26
# 36
# 65
# 73
# 80
# 85
# 92
# 99
# 104
# 111
# 114
# 120
# 124
# 133
# 135
# 140
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 8
# 194
# 198
# 345
# 352
# 362
# 383
# 392
# 398
# 407
# 409
# 417
# 449
# 456
# 460
# 464
# 24 "/usr/include/sys/feature_tests.h"
# 28
# 43
# 80
# 84
# 89
# 134
# 141
# 145
# 152
# 192
# 220
# 277
# 326
# 353
# 358
# 379
# 395
# 404
# 418
# 424
# 430
# 438
# 443
# 449
# 453
# 16 "/usr/include/stdio.h"
# 20
# 27
# 43
# 59
# 61
# 65
# 1 "/usr/include/iso/stdio_iso.h"
# 4
# 19
# 23
# 26
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/va_list.h"
# 8
# 11
# 31
# 44
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 46 "/usr/include/sys/va_list.h"
# 50
# 56
# 58
# 61
# 68
# 102
typedef void *__va_list;
# 106
# 110
# 1 "/usr/include/stdio_tag.h"
# 4
# 7
# 11
# 18
typedef struct __FILE __FILE;
# 20
# 24
# 1 "/usr/include/stdio_impl.h"
# 4
# 7
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 9 "/usr/include/stdio_impl.h"
# 13
# 25
struct __FILE
{
# 32
int _cnt;
unsigned char *_ptr;
# 35
unsigned char *_base;
unsigned char _flag;
unsigned char _magic;
unsigned __orientation:2;
unsigned __ionolock:1;
unsigned __seekable:1;
unsigned __extendedfd:1;
unsigned __xf_nocheck:1;
unsigned __filler:10;
};
# 48
# 52
# 31 "/usr/include/iso/stdio_iso.h"
# 35
# 43
# 47
# 49
# 55
typedef long long __longlong_t;
# 64
# 68
# 71
typedef __FILE FILE;
# 73
# 79
typedef unsigned int size_t;
# 82
# 84
typedef long fpos_t;
# 88
# 92
# 104
# 106
# 118
# 120
# 126
# 131
# 135
# 138
# 143
# 145
# 151
# 153
extern __FILE __iob[ 20 ];
# 163
# 167
# 213
# 240
# 242
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *,
const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int,
size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *,
const char *, ...);
extern int vfprintf(FILE *, const char *,
__va_list);
extern int vprintf(const char *, __va_list);
extern int vsprintf(char *, const char *,
__va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);
extern int putc(int, FILE *);
extern int getchar(void);
extern int putchar(int);
# 282
extern char *gets(char *) __attribute__ ( ( __deprecated__ ) );
# 284
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t,
FILE *);
extern size_t fwrite(const void *, size_t, size_t,
FILE *);
# 291
extern int fgetpos(FILE *, fpos_t *);
extern int fsetpos(FILE *, const fpos_t *);
# 294
extern int fseek(FILE *, long, int);
extern long ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
# 303
extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
# 306
# 357
# 361
# 365
# 67 "/usr/include/stdio.h"
# 75
# 151
# 1 "/usr/include/iso/stdio_c99.h"
# 4
# 15
# 18
# 22
# 30
# 33
# 49
# 51
extern int vfscanf(FILE *, const char *, __va_list);
extern int vscanf(const char *, __va_list);
extern int vsscanf(const char *, const char *,
__va_list);
# 65
extern int snprintf(char *, size_t, const char *,
...);
extern int vsnprintf(char *, size_t, const char *,
__va_list);
# 74
# 76
# 80
# 157 "/usr/include/stdio.h"
# 161
# 165
# 170
typedef long off_t;
# 178
typedef __longlong_t off64_t;
# 183
# 188
typedef __longlong_t fpos64_t;
# 191
# 201
# 204
# 206
# 211
# 213
# 217
# 220
# 222
extern unsigned char _sibuf[], _sobuf[];
# 224
# 268
# 270
extern unsigned char *_bufendtab[];
extern FILE *_lastbuf;
# 273
# 291
# 297
typedef int ssize_t;
# 300
# 302
# 305
extern char *tmpnam_r(char *);
# 307
# 310
extern int fcloseall(void);
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
extern int asprintf(char **, const char *, ...);
extern int vasprintf(char **, const char *, __va_list);
# 318
# 322
extern int dprintf(int, const char *, ...);
extern int vdprintf(int, const char *, __va_list);
extern int renameat(int, const char *, int, const char *);
extern ssize_t getdelim(char **, size_t *,
int, FILE *);
extern ssize_t getline(char **, size_t *,
FILE *);
extern FILE *fmemopen(void *, size_t, const char *);
extern FILE *open_memstream(char **, size_t *);
# 334
# 340
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
# 344
# 351
extern void flockfile(FILE *);
extern int ftrylockfile(FILE *);
extern void funlockfile(FILE *);
extern int getc_unlocked(FILE *);
extern int getchar_unlocked(void);
extern int putc_unlocked(int, FILE *);
extern int putchar_unlocked(int);
# 360
# 366
extern FILE *popen(const char *, const char *);
extern char *tempnam(const char *, const char *);
extern int pclose(FILE *);
# 370
extern int getsubopt(char **, char *const *, char **);
# 372
# 375
extern char *cuserid(char *);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
# 382
# 384
# 391
extern int fseeko(FILE *, off_t, int);
extern off_t ftello(FILE *);
# 394
# 401
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos64_t *);
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
# 415
# 501
# 503
# 529
# 531
# 535
# 34 "lib/stdio.h"
# 44 "./lib/stdio.h"
# 46
# 49
# 1 "/usr/include/stdarg.h"
# 8
# 11
# 23
# 25
# 1 "/usr/include/iso/stdarg_iso.h"
# 8
# 20
# 23
# 34
# 1 "/usr/include/sys/va_impl.h"
# 8
# 11
# 27
# 43
# 52
# 67
# 80
# 1 "/usr/include/sys/va_list.h"
# 8
# 82 "/usr/include/sys/va_impl.h"
# 86
# 118
# 125
# 152
# 156
# 36 "/usr/include/iso/stdarg_iso.h"
# 40
# 47
typedef __va_list va_list;
# 49
# 53
# 57
# 1 "/usr/include/iso/stdarg_c99.h"
# 8
# 11
# 27
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 29 "/usr/include/iso/stdarg_c99.h"
# 33
# 42
# 44
# 46
# 50
# 28 "/usr/include/stdarg.h"
# 36
# 42
# 52 "./lib/stdio.h"
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 52
# 1 "lib/stddef.h"
# 18
# 25
# 29
# 49
# 52
# 1 "/usr/include/stddef.h"
# 8
# 11
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 1 "/usr/include/iso/stddef_iso.h"
# 8
# 20
# 23
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 25 "/usr/include/iso/stddef_iso.h"
# 29
# 33
# 45
# 51
typedef int ptrdiff_t;
# 54
# 63
# 67
# 71
# 75
# 81
# 85
# 14 "/usr/include/stddef.h"
# 23
# 27
# 47
typedef long wchar_t;
# 51
# 69
# 56 "lib/stddef.h"
# 76
# 79
# 84
# 87
# 98
typedef union
{
char *__p ;
double __d ;
long double __ld ;
long int __i ;
} max_align_t;
# 106
# 56 "./lib/stddef.h"
# 76
# 54 "./lib/stdio.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 25
# 1 "lib/sys/types.h"
# 18
# 22
# 25
# 1 "/usr/include/sys/types.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 13 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/machtypes.h"
# 4
# 11
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 13 "/usr/include/sys/machtypes.h"
# 17
# 23
# 26
typedef struct _label_t { long val[2]; } label_t;
# 30
# 39
typedef unsigned int lock_t;
# 44
# 18 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/int_types.h"
# 4
# 7
# 30
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 32 "/usr/include/sys/int_types.h"
# 36
# 51
typedef char int8_t;
# 57
typedef short int16_t;
typedef int int32_t;
# 65
typedef long long int64_t;
# 68
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
# 76
typedef unsigned long long uint64_t;
# 79
# 85
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
# 91
# 101
typedef int intptr_t;
typedef unsigned int uintptr_t;
# 104
# 110
typedef char int_fast8_t;
# 116
typedef int int_fast16_t;
typedef int int_fast32_t;
# 122
typedef long long int_fast64_t;
# 125
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
# 133
typedef unsigned long long uint_fast64_t;
# 136
# 142
typedef char int_least8_t;
# 148
typedef short int_least16_t;
typedef int int_least32_t;
# 154
typedef long long int_least64_t;
# 157
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
# 165
typedef unsigned long long uint_least64_t;
# 168
# 172
# 31 "/usr/include/sys/types.h"
# 35
# 39
# 46
typedef long long longlong_t;
typedef unsigned long long u_longlong_t;
# 59
# 69
typedef long t_scalar_t;
typedef unsigned long t_uscalar_t;
# 72
# 76
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef char *caddr_t;
typedef long daddr_t;
typedef short cnt_t;
# 93
# 97
typedef ulong_t pfn_t;
typedef ulong_t pgcnt_t;
typedef long spgcnt_t;
typedef uchar_t use_t;
typedef short sysid_t;
typedef short index_t;
typedef void *timeout_id_t;
typedef void *bufcall_id_t;
# 133
# 135
typedef ulong_t ino_t;
typedef long blkcnt_t;
typedef ulong_t fsblkcnt_t;
typedef ulong_t fsfilcnt_t;
# 145
# 153
typedef u_longlong_t ino64_t;
typedef longlong_t blkcnt64_t;
typedef u_longlong_t fsblkcnt64_t;
typedef u_longlong_t fsfilcnt64_t;
# 159
# 163
typedef long blksize_t;
# 165
# 169
typedef enum { B_FALSE = 0, B_TRUE = 1, _B_FALSE = 0, _B_TRUE = 1 } boolean_t;
# 176
# 180
# 194
typedef int64_t pad64_t;
typedef uint64_t upad64_t;
# 207
typedef union {
long double _q;
int32_t _l[4];
} pad128_t;
typedef union {
long double _q;
uint32_t _l[4];
} upad128_t;
typedef longlong_t offset_t;
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
typedef u_longlong_t diskaddr_t;
# 225
# 240
# 242
typedef union {
offset_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lloff_t;
# 250
# 260
# 262
typedef union {
longlong_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lldaddr_t;
# 270
typedef uint_t k_fltset_t;
# 285
typedef long id_t;
# 287
typedef id_t lgrp_id_t;
# 294
typedef uint_t useconds_t;
# 298
typedef long suseconds_t;
# 300
# 308
typedef ulong_t major_t;
typedef ulong_t minor_t;
# 311
# 315
typedef short pri_t;
# 321
typedef ushort_t cpu_flag_t;
# 334
typedef ushort_t o_mode_t;
typedef short o_dev_t;
typedef ushort_t o_uid_t;
typedef o_uid_t o_gid_t;
typedef short o_nlink_t;
typedef short o_pid_t;
typedef ushort_t o_ino_t;
# 346
typedef int key_t;
# 350
typedef ulong_t mode_t;
# 352
# 355
typedef unsigned int uid_t;
# 357
typedef uid_t gid_t;
typedef uint32_t datalink_id_t;
typedef uint32_t vrid_t;
typedef id_t taskid_t;
typedef id_t projid_t;
typedef id_t poolid_t;
typedef id_t zoneid_t;
typedef id_t ctid_t;
# 374
typedef uint_t pthread_t;
typedef uint_t pthread_key_t;
# 382
typedef struct _pthread_mutex {
struct {
uint16_t __pthread_mutex_flag1;
uint8_t __pthread_mutex_flag2;
uint8_t __pthread_mutex_ceiling;
uint16_t __pthread_mutex_type;
uint16_t __pthread_mutex_magic;
} __pthread_mutex_flags;
union {
struct {
uint8_t __pthread_mutex_pad[8];
} __pthread_mutex_lock64;
struct {
uint32_t __pthread_ownerpid;
uint32_t __pthread_lockword;
} __pthread_mutex_lock32;
upad64_t __pthread_mutex_owner64;
} __pthread_mutex_lock;
upad64_t __pthread_mutex_data;
} pthread_mutex_t;
typedef struct _pthread_cond {
struct {
uint8_t __pthread_cond_flag[4];
uint16_t __pthread_cond_type;
uint16_t __pthread_cond_magic;
} __pthread_cond_flags;
upad64_t __pthread_cond_data;
} pthread_cond_t;
# 416
typedef struct _pthread_rwlock {
int32_t __pthread_rwlock_readers;
uint16_t __pthread_rwlock_type;
uint16_t __pthread_rwlock_magic;
pthread_mutex_t __pthread_rwlock_mutex;
pthread_cond_t __pthread_rwlock_readercv;
pthread_cond_t __pthread_rwlock_writercv;
} pthread_rwlock_t;
# 428
typedef struct {
uint32_t __pthread_barrier_count;
uint32_t __pthread_barrier_current;
upad64_t __pthread_barrier_cycle;
upad64_t __pthread_barrier_reserved;
pthread_mutex_t __pthread_barrier_lock;
pthread_cond_t __pthread_barrier_cond;
} pthread_barrier_t;
typedef pthread_mutex_t pthread_spinlock_t;
# 442
typedef struct _pthread_attr {
void *__pthread_attrp;
} pthread_attr_t;
# 449
typedef struct _pthread_mutexattr {
void *__pthread_mutexattrp;
} pthread_mutexattr_t;
# 456
typedef struct _pthread_condattr {
void *__pthread_condattrp;
} pthread_condattr_t;
# 463
typedef struct _once {
upad64_t __pthread_once_pad[4];
} pthread_once_t;
# 471
typedef struct _pthread_rwlockattr {
void *__pthread_rwlockattrp;
} pthread_rwlockattr_t;
# 479
typedef struct {
void *__pthread_barrierattrp;
} pthread_barrierattr_t;
typedef ulong_t dev_t;
# 489
typedef ulong_t nlink_t;
typedef long pid_t;
# 492
# 501
# 510
# 513
typedef long time_t;
# 515
# 518
typedef long clock_t;
# 520
# 523
typedef int clockid_t;
# 525
# 528
typedef int timer_t;
# 530
# 532
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
# 572
# 574
# 582
# 589
# 597
# 605
# 612
# 615
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef struct _quad { int val[2]; } quad_t;
typedef quad_t quad;
# 633
typedef struct klgrpset {
ulong_t klgb[ 6 ];
} klgrpset_t;
# 640
# 1 "./lib/sys/select.h"
# 17
# 21
# 34
# 1 "lib/sys/select.h"
# 17
# 21
# 71
# 73
# 1 "./lib/sys/types.h"
# 18
# 22
# 25
# 1 "lib/sys/types.h"
# 18
# 22
# 25
# 1 "/usr/include/sys/types.h"
# 4
# 30 "lib/sys/types.h"
# 33
# 45
# 52
# 30 "./lib/sys/types.h"
# 78 "lib/sys/select.h"
# 80
# 1 "./lib/sys/time.h"
# 18
# 22
# 26
# 36
# 1 "lib/sys/time.h"
# 18
# 22
# 26
# 36
# 1 "/usr/include/sys/time.h"
# 10
# 14
# 17
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 19 "/usr/include/sys/time.h"
# 24
# 28
# 32
# 37
# 42
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
# 69
# 72
# 75
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
# 82
# 86
# 1 "./lib/sys/types.h"
# 18
# 22
# 95 "/usr/include/sys/time.h"
# 99
# 101
# 113
# 124
# 126
# 167
# 180
# 182
# 184
# 191
# 194
# 198
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 227
# 230
# 237
# 239
# 241
# 245
typedef longlong_t hrtime_t;
# 377
# 380
int adjtime(struct timeval *, struct timeval *);
int futimesat(int, const char *, const struct timeval *);
# 387
# 390
# 392
int getitimer(int, struct itimerval *);
int utimes(const char *, const struct timeval *);
# 399
int setitimer(int, struct itimerval *,
struct itimerval *);
# 402
# 410
# 426
# 431
int settimeofday(struct timeval *, void *);
# 433
hrtime_t gethrtime(void);
hrtime_t gethrvtime(void);
# 440
# 442
# 445
# 450
int gettimeofday(struct timeval *, void *);
# 455
# 457
# 1 "./lib/time.h"
# 18
# 22
# 36
# 38
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/iso/time_iso.h"
# 8
# 20
# 23
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 25 "/usr/include/iso/time_iso.h"
# 29
# 33
# 37
# 49
# 58
# 63
# 68
# 70
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
# 85
extern char *asctime(const struct tm *);
extern clock_t clock(void);
extern char *ctime(const time_t *);
extern double difftime(time_t, time_t);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
# 106
# 116
extern size_t strftime(char *, size_t, const char *,
const struct tm *);
# 143
# 147
# 151
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/time_impl.h"
# 4
# 14
# 17
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 19 "/usr/include/sys/time_impl.h"
# 23
# 25
# 30
# 34
# 47
# 49
typedef struct timespec {
time_t tv_sec;
long tv_nsec;
} timespec_t;
typedef struct timespec timestruc_t;
# 57
# 61
# 95
# 103
# 107
typedef struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
} itimerspec_t;
# 129
# 131
# 140
# 144
# 147
# 151
# 18 "/usr/include/time.h"
# 46
# 50
# 55
# 60
# 65
typedef struct _LC_locale_t **locale_t;
# 68
# 70
# 74
extern struct tm *gmtime_r(const time_t *,
struct tm *);
extern struct tm *localtime_r(const time_t *,
struct tm *);
# 79
# 82
extern time_t timegm(struct tm *);
extern time_t timelocal(struct tm *);
# 85
# 88
# 110
# 119
# 121
extern char *strptime(const char *, const char *,
struct tm *);
# 126
# 129
# 142
union sigval {
int sival_int;
void *sival_ptr;
};
# 147
# 150
struct sigevent {
int sigev_notify;
int sigev_signo;
union sigval sigev_value;
void (*sigev_notify_function)(union sigval);
pthread_attr_t *sigev_notify_attributes;
int __sigev_pad2;
};
# 159
extern int clock_getres(clockid_t, struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_settime(clockid_t, const struct timespec *);
extern int timer_create(clockid_t, struct sigevent *,
timer_t *);
extern int timer_delete(timer_t);
extern int timer_getoverrun(timer_t);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_settime(timer_t, int, const struct itimerspec *,
struct itimerspec *);
extern int nanosleep(const struct timespec *, struct timespec *);
extern int clock_nanosleep(clockid_t, int,
const struct timespec *, struct timespec *);
# 176
# 179
extern void tzset(void);
extern char *tzname[2];
# 186
extern long _sysconf(int);
# 188
# 191
# 194
extern long timezone;
extern int daylight;
# 197
# 199
# 202
extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;
# 206
# 209
extern struct tm *getdate(const char *);
# 212
extern int *_getdate_err_addr(void);
# 214
# 217
extern size_t strftime_l(char *, size_t,
const char *, const struct tm *, locale_t);
# 220
# 282
# 286
# 318
# 322
# 324
# 326
#pragma redefine_extname ctime_r __posix_ctime_r
#pragma redefine_extname asctime_r __posix_asctime_r
# 330
extern char *asctime_r(const struct tm *, char *);
extern char *ctime_r(const time_t *, char *);
# 358
# 365
# 413
# 415
# 419
# 34 "lib/time.h"
# 40 "./lib/time.h"
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 43 "./lib/time.h"
# 47
# 106
# 114
# 126
# 136
# 156
# 174
# 199
# 217
# 242
# 270
# 298
# 300
# 312
# 315
# 329
# 350
# 360
# 395
# 397
# 402
struct __time_t_must_be_integral {
unsigned int __floating_time_t_unsupported : (time_t) 1;
};
# 407
# 427
extern int _gl_cxxalias_dummy ;
# 430
extern int _gl_cxxalias_dummy ;
# 432
# 439
extern time_t rpl_mktime ( struct tm * __tp );
extern int _gl_cxxalias_dummy ;
# 444
extern int _gl_cxxalias_dummy ;
# 446
# 467
extern int _gl_cxxalias_dummy ;
# 471
extern int _gl_cxxalias_dummy ;
# 489
extern int _gl_cxxalias_dummy ;
# 493
extern int _gl_cxxalias_dummy ;
# 496
# 510
extern int _gl_cxxalias_dummy ;
# 512
extern int _gl_cxxalias_dummy ;
# 514
# 525
extern int _gl_cxxalias_dummy ;
# 527
extern int _gl_cxxalias_dummy ;
# 529
# 545
# 563
# 587
# 473 "/usr/include/sys/time.h"
# 1 "./lib/sys/select.h"
# 17
# 21
# 47
# 1 "lib/sys/select.h"
# 17
# 21
# 71
# 73
# 1 "./lib/sys/types.h"
# 18
# 22
# 78 "lib/sys/select.h"
# 80
# 1 "./lib/sys/time.h"
# 18
# 22
# 26
# 1 "lib/sys/time.h"
# 18
# 22
# 26
# 1 "/usr/include/sys/time.h"
# 10
# 14
# 89 "lib/sys/select.h"
# 1 "./lib/string.h"
# 18
# 22
# 34
# 37
# 39
# 1 "lib/string.h"
# 18
# 22
# 25
# 30
# 1 "/usr/include/string.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/iso/string_iso.h"
# 8
# 20
# 23
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 25 "/usr/include/iso/string_iso.h"
# 29
# 33
# 37
# 46
# 59
# 82
# 84
extern int memcmp(const void *, const void *, size_t);
extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strcat(char *, const char *);
extern int strcmp(const char *, const char *);
extern char *strcpy(char *, const char *);
extern int strcoll(const char *, const char *);
extern size_t strcspn(const char *, const char *);
extern char *strerror(int);
extern size_t strlen(const char *);
extern char *strncat(char *, const char *, size_t);
extern int strncmp(const char *, const char *, size_t);
extern char *strncpy(char *, const char *, size_t);
extern size_t strspn(const char *, const char *);
extern char *strtok(char *, const char *);
extern size_t strxfrm(char *, const char *, size_t);
# 155
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
# 161
# 188
# 192
# 196
# 13 "/usr/include/string.h"
# 58
# 62
# 71
# 73
# 77
extern int strerror_r(int, char *, size_t);
# 79
# 83
extern char *strtok_r(char *, const char *,
char **);
# 86
# 89
extern void *memccpy(void *, const void *,
int, size_t);
# 92
# 96
extern char *stpcpy(char *, const char *);
extern char *stpncpy(char *, const char *, size_t);
extern char *strndup(const char *, size_t);
extern size_t strnlen(const char *, size_t);
extern char *strsignal(int);
# 103
# 106
# 120
extern int uucopy(const void *, void *, size_t);
extern int uucopystr(const void *, void *, size_t);
extern int ffs(int);
extern int ffsl(long);
extern int ffsll(long long);
extern int fls(int);
extern int flsl(long);
extern int flsll(long long);
extern void *memmem(const void *, size_t, const void *, size_t);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern char *strcasestr(const char *, const char *);
extern char *strnstr(const char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
extern size_t strlcat(char *, const char *, size_t);
extern char *strsep(char **stringp, const char *delim);
extern char *strchrnul(const char *, int);
# 140
# 144
extern char *strdup(const char *);
# 146
# 175
# 178
# 185
extern void *__builtin_alloca(size_t);
extern __thread char *__strdupa_str;
extern __thread size_t __strdupa_len;
# 193
# 201
# 204
# 208
extern int strcoll_l(const char *, const char *, locale_t);
extern char *strerror_l(int, locale_t);
extern size_t strxfrm_l(char *, const char *,
size_t, locale_t);
# 213
# 289
# 293
# 32 "lib/string.h"
# 42 "./lib/string.h"
# 44
# 47
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 50 "./lib/string.h"
# 55
# 63
# 70
# 327
# 339
# 356
# 377
# 387
# 402
# 417
# 435
# 438
extern int _gl_cxxalias_dummy ;
# 448
extern int _gl_cxxalias_dummy ;
# 456
# 492
# 497
extern void * mempcpy ( void * __restrict__ __dest , void const * __restrict__ __src , size_t __n ) ;
# 502
extern int _gl_cxxalias_dummy ;
# 505
extern int _gl_cxxalias_dummy ;
# 513
# 517
extern void * memrchr ( void const * , int , size_t ) ;
# 521
# 524
extern int _gl_cxxalias_dummy ;
# 532
extern int _gl_cxxalias_dummy ;
# 541
# 571
# 579
extern int _gl_cxxalias_dummy ;
# 581
extern int _gl_cxxalias_dummy ;
# 589
# 612
extern int _gl_cxxalias_dummy ;
# 616
extern int _gl_cxxalias_dummy ;
# 624
# 634
# 673
# 691
extern int _gl_cxxalias_dummy ;
# 693
extern int _gl_cxxalias_dummy ;
# 701
# 709
extern char * rpl_strncat ( char * dest , const char * src , size_t n ) ;
# 711
extern int _gl_cxxalias_dummy ;
# 715
extern int _gl_cxxalias_dummy ;
# 723
# 739
extern int _gl_cxxalias_dummy ;
# 741
extern int _gl_cxxalias_dummy ;
# 749
# 769
extern int _gl_cxxalias_dummy ;
# 771
extern int _gl_cxxalias_dummy ;
# 779
# 791
# 799
# 802
extern int _gl_cxxalias_dummy ;
# 811
extern int _gl_cxxalias_dummy ;
# 830
# 840
# 850
# 889
# 900
# 903
extern int _gl_cxxalias_dummy ;
# 913
extern int _gl_cxxalias_dummy ;
# 928
# 977
# 1040
# 1044
# 1046
# 1060
extern size_t mbslen ( const char * string ) ;
# 1063
extern int _gl_cxxalias_dummy ;
# 1065
extern int _gl_cxxalias_dummy ;
# 1067
# 1075
# 1097
# 1119
# 1121
# 1125
extern char * mbsstr (const char *haystack, const char *needle)
;
# 1129
# 1131
# 1137
extern int mbscasecmp (const char *s1, const char *s2)
;
# 1141
# 1156
# 1170
# 1181
# 1192
# 1214
# 1225
# 1244
# 1265
# 1273
extern char * rpl_strerror ( int );
extern int _gl_cxxalias_dummy ;
# 1278
extern int _gl_cxxalias_dummy ;
# 1285
# 1314
# 1320
extern char * rpl_strsignal ( int __sig );
extern int _gl_cxxalias_dummy ;
# 1330
extern int _gl_cxxalias_dummy ;
# 1338
# 1354
# 97 "lib/sys/select.h"
# 1 "/usr/include/sys/select.h"
# 4
# 17
# 20
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 22 "/usr/include/sys/select.h"
# 1 "/usr/include/sys/time_impl.h"
# 4
# 14
# 1 "./lib/sys/time.h"
# 18
# 22
# 26
# 1 "lib/sys/time.h"
# 18
# 22
# 26
# 1 "/usr/include/sys/time.h"
# 10
# 14
# 29 "/usr/include/sys/select.h"
# 33
# 36
# 48
typedef struct {
unsigned int __sigbits[4];
} sigset_t;
# 52
# 54
# 80
# 82
typedef unsigned long fd_mask;
# 84
typedef unsigned long fds_mask;
# 96
# 101
# 108
# 110
typedef struct fd_set {
# 114
unsigned long fds_bits[ ( ( ( 1024 ) + ( ( ( sizeof ( fds_mask ) * 8 ) ) - 1 ) ) / ( ( sizeof ( fds_mask ) * 8 ) ) )];
} fd_set;
# 119
# 122
# 125
# 131
# 134
extern int select(int, fd_set *, fd_set *,
fd_set *, struct timeval *);
# 138
extern int pselect(int, fd_set *, fd_set *,
fd_set *, const struct timespec *,
const sigset_t *);
# 142
# 150
# 154
# 100 "lib/sys/select.h"
# 102
# 1 "./lib/signal.h"
# 18
# 22
# 39
# 42
# 44
# 1 "./lib/sys/types.h"
# 18
# 22
# 50 "./lib/signal.h"
# 1 "lib/signal.h"
# 18
# 22
# 25
# 35
# 1 "/usr/include/signal.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 12 "/usr/include/signal.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 17 "/usr/include/signal.h"
# 1 "/usr/include/iso/signal_iso.h"
# 8
# 20
# 23
# 1 "/usr/include/sys/iso/signal_iso.h"
# 4
# 19
# 22
# 1 "/usr/include/sys/unistd.h"
# 6
# 10
# 16
# 19
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 21 "/usr/include/sys/unistd.h"
# 25
# 29
# 33
# 38
# 43
# 61
# 81
# 103
# 115
# 120
# 125
# 153
# 174
# 178
# 184
# 189
# 192
# 208
# 219
# 240
# 249
# 290
# 293
# 302
# 305
# 318
# 322
# 336
# 338
# 346
# 353
# 358
# 364
# 371
# 381
# 391
# 406
# 410
# 414
# 418
# 444
# 449
# 452
# 456
# 24 "/usr/include/sys/iso/signal_iso.h"
# 28
# 73
# 77
extern long _sysconf(int);
# 80
# 90
# 99
# 104
# 106
# 110
# 114
# 27 "/usr/include/iso/signal_iso.h"
# 31
# 35
typedef int sig_atomic_t;
# 39
# 43
extern void (*signal(int, void (*)(int)))(int);
# 45
extern int raise(int);
# 53
# 57
# 61
# 1 "/usr/include/sys/signal.h"
# 4
# 17
# 20
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/iso/signal_iso.h"
# 4
# 19
# 23 "/usr/include/sys/signal.h"
# 27
# 30
# 34
# 1 "/usr/include/sys/siginfo.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/types.h"
# 18
# 22
# 13 "/usr/include/sys/siginfo.h"
# 17
# 20
# 32
# 43
# 52
# 55
# 71
# 79
# 94
# 96
# 99
# 103
# 106
# 118
# 120
# 124
# 1 "/usr/include/sys/machsig.h"
# 8
# 11
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 13 "/usr/include/sys/machsig.h"
# 17
# 21
# 29
# 31
# 35
# 44
# 48
# 52
# 58
# 62
# 74
# 78
# 88
# 92
# 102
# 104
# 108
# 126 "/usr/include/sys/siginfo.h"
# 130
# 140
# 144
# 151
# 155
# 159
# 166
# 170
# 172
# 174
# 177
# 180
# 182
# 185
# 193
# 1 "/usr/include/sys/time_impl.h"
# 4
# 14
# 202 "/usr/include/sys/siginfo.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 210 "/usr/include/sys/siginfo.h"
# 212
typedef struct siginfo {
# 216
int si_signo;
int si_code;
int si_errno;
# 222
union {
int __pad[ ( ( 128 / sizeof ( int ) ) - 3 )];
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
# 233
union sigval __value;
# 237
id_t __tid;
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
ctid_t __ctid;
zoneid_t __zoneid;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
int __adivers;
} __fault;
struct {
int __fd;
long __band;
} __file;
# 263
struct {
caddr_t __faddr;
timespec_t __tstamp;
short __syscall;
char __nsysarg;
char __fault;
long __sysarg[8];
int __mstate[10];
} __prof;
# 273
struct {
int32_t __entity;
} __rctl;
} __data;
} siginfo_t;
# 350
# 355
# 357
typedef struct k_siginfo {
int si_signo;
int si_code;
int si_errno;
# 365
union {
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
union sigval __value;
id_t __tid;
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
ctid_t __ctid;
zoneid_t __zoneid;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
int __adivers;
} __fault;
struct {
int __fd;
long __band;
} __file;
# 398
struct {
caddr_t __faddr;
timespec_t __tstamp;
short __syscall;
char __nsysarg;
char __fault;
} __prof;
# 409
struct {
int32_t __entity;
} __rctl;
} __data;
} k_siginfo_t;
typedef struct sigqueue {
struct sigqueue *sq_next;
k_siginfo_t sq_info;
void (*sq_func)(struct sigqueue *);
void *sq_backptr;
int sq_external;
} sigqueue_t;
# 429
# 431
# 459
# 461
# 469
# 473
# 39 "/usr/include/sys/signal.h"
# 47
typedef struct {
unsigned int __sigbits[3];
} k_sigset_t;
# 55
struct sigaction {
int sa_flags;
union {
void (*_handler)(int);
# 62
void (*_sigaction)(int, siginfo_t *, void *);
# 64
} _funcptr;
sigset_t sa_mask;
# 67
int sa_resv[2];
# 69
};
# 72
# 88
# 91
# 93
# 97
# 105
# 111
# 116
# 119
# 121
# 128
# 131
# 134
# 139
typedef struct sigaltstack {
# 143
void *ss_sp;
size_t ss_size;
int ss_flags;
} stack_t;
# 159
# 161
# 163
# 166
typedef struct signotify_id {
pid_t sn_pid;
int sn_index;
id_t sn_tid;
} signotify_id_t;
# 179
# 181
# 186
struct sigstack {
void *ss_sp;
int ss_onstack;
};
# 191
# 199
# 291
# 295
# 20 "/usr/include/signal.h"
# 30
# 34
# 37
extern const char **_sys_siglistp;
extern const int _sys_siglistn;
# 45
# 48
extern int kill(pid_t, int);
extern int sigaction(int, const struct sigaction *,
struct sigaction *);
extern int sigaddset(sigset_t *, int);
extern int sigdelset(sigset_t *, int);
extern int sigemptyset(sigset_t *);
extern int sigfillset(sigset_t *);
extern int sigismember(const sigset_t *, int);
extern int sigpending(sigset_t *);
extern int sigprocmask(int, const sigset_t *,
sigset_t *);
extern int sigsuspend(const sigset_t *);
# 61
# 1 "/usr/include/sys/procset.h"
# 4
# 10
# 14
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/signal.h"
# 4
# 17
# 18 "/usr/include/sys/procset.h"
# 27
# 33
typedef enum
# 35
idtype
# 37
{
P_PID,
P_PPID,
P_PGID,
P_SID,
P_CID,
P_UID,
P_GID,
P_ALL,
P_LWPID,
P_TASKID,
P_PROJID,
P_POOLID,
P_ZONEID,
P_CTID,
P_CPUID,
P_PSETID
} idtype_t;
# 61
typedef enum idop {
POP_DIFF,
POP_AND,
POP_OR,
POP_XOR
} idop_t;
# 80
typedef struct procset {
idop_t p_op;
idtype_t p_lidtype;
id_t p_lid;
idtype_t p_ridtype;
id_t p_rid;
} procset_t;
# 104
# 114
# 116
# 131
# 135
# 65 "/usr/include/signal.h"
extern int gsignal(int);
extern int (*ssignal(int, int (*)(int)))(int);
extern int sigsend(idtype_t, id_t, int);
extern int sigsendset(const procset_t *, int);
extern int sig2str(int, char *);
extern int str2sig(const char *, int *);
# 72
extern int sigqueue_wait(pid_t, int, const union sigval,
const struct timespec *);
extern int pthread_sigqueue(pthread_t, int, const union sigval);
extern int pthread_sigqueue_wait(pthread_t, int, const union sigval,
const struct timespec *);
extern int proc_thr_kill(pid_t, pthread_t, int);
extern int proc_thr_sigqueue(pid_t, pthread_t, int, const union sigval);
extern int proc_thr_sigqueue_wait(pid_t, pthread_t, int, const union sigval,
const struct timespec *);
# 83
# 87
extern int killpg(pid_t, int);
extern int siginterrupt(int, int);
extern int sigaltstack(const stack_t *, stack_t *);
extern int sighold(int);
extern int sigignore(int);
extern int sigpause(int);
extern int sigrelse(int);
extern void (*sigset(int, void (*)(int)))(int);
# 96
# 100
extern void psignal(int, const char *);
extern void psiginfo(const siginfo_t *, const char *);
# 103
# 108
extern void (*bsd_signal(int, void (*)(int)))(int);
# 110
# 115
extern int sigstack(struct sigstack *, struct sigstack *);
# 117
# 1 "/usr/include/sys/siginfo.h"
# 4
# 1 "./lib/time.h"
# 18
# 22
# 32
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 34 "lib/time.h"
# 34 "./lib/time.h"
# 123 "/usr/include/signal.h"
extern int pthread_kill(pthread_t, int);
extern int pthread_sigmask(int, const sigset_t *,
sigset_t *);
extern int sigwaitinfo(const sigset_t *,
siginfo_t *);
extern int sigtimedwait(const sigset_t *,
siginfo_t *, const struct timespec *);
extern int sigqueue(pid_t, int, const union sigval);
# 132
# 212
# 216
# 220
# 222
# 224
#pragma redefine_extname sigwait __posix_sigwait
# 227
extern int sigwait(const sigset_t *, int *);
# 247
# 253
# 291
# 293
# 297
# 37 "lib/signal.h"
# 53 "./lib/signal.h"
# 55
# 58
# 69
# 326
# 338
# 355
# 376
# 386
# 398
# 406
# 413
typedef void (*sighandler_t) (int);
# 420
# 431
# 439
# 467
# 481
extern int _gl_cxxalias_dummy ;
# 483
extern int _gl_cxxalias_dummy ;
# 490
# 511
# 525
# 528
# 536
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 541
# 548
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 553
# 561
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 566
# 574
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 579
# 586
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 593
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 608
extern int _gl_cxxalias_dummy ;
# 610
extern int _gl_cxxalias_dummy ;
# 618
typedef void (*_gl_function_taking_int_returning_void_t) (int);
# 633
extern int _gl_cxxalias_dummy ;
# 636
extern int _gl_cxxalias_dummy ;
# 642
# 680
# 754
extern int _gl_cxxalias_dummy ;
# 757
extern int _gl_cxxalias_dummy ;
# 766
# 771
# 110 "lib/sys/select.h"
# 113
# 136
# 393
# 410
# 431
# 441
# 472
# 554
# 586
# 598
extern int _gl_cxxalias_dummy ;
# 601
extern int _gl_cxxalias_dummy ;
# 612
# 50 "./lib/sys/select.h"
# 485 "/usr/include/sys/time.h"
# 487
# 491
# 41 "lib/sys/time.h"
# 44
# 48
# 58
# 315
# 327
# 344
# 365
# 375
# 379
# 396
# 400
# 418
# 420
extern int _gl_cxxalias_dummy ;
# 423
extern int _gl_cxxalias_dummy ;
# 431
# 522
# 41 "./lib/sys/time.h"
# 89 "lib/sys/select.h"
# 1 "./lib/string.h"
# 18
# 22
# 34
# 97 "lib/sys/select.h"
# 1 "/usr/include/sys/select.h"
# 4
# 17
# 100 "lib/sys/select.h"
# 102
# 1 "./lib/signal.h"
# 18
# 22
# 25
# 35
# 1 "lib/signal.h"
# 18
# 22
# 25
# 35
# 1 "/usr/include/signal.h"
# 4
# 37 "lib/signal.h"
# 37 "./lib/signal.h"
# 110 "lib/sys/select.h"
# 37 "./lib/sys/select.h"
# 646 "/usr/include/sys/types.h"
# 648
typedef id_t mrpid_t;
typedef u_longlong_t memsize_t;
typedef longlong_t memtime_sec_t;
# 663
# 665
# 669
# 30 "lib/sys/types.h"
# 30 "./lib/sys/types.h"
# 59 "./lib/stdio.h"
# 71
# 83
# 95
# 107
# 114
# 121
# 379
# 391
# 408
# 429
# 439
# 443
# 453
# 479
# 481
# 489
extern int _gl_cxxalias_dummy ;
# 491
extern int _gl_cxxalias_dummy ;
# 498
# 509
extern int _gl_cxxalias_dummy ;
# 511
extern int _gl_cxxalias_dummy ;
# 518
# 520
# 533
extern int _gl_cxxalias_dummy ;
# 535
extern int _gl_cxxalias_dummy ;
# 542
# 552
extern int _gl_cxxalias_dummy ;
# 554
extern int _gl_cxxalias_dummy ;
# 556
# 567
extern int _gl_cxxalias_dummy ;
# 569
extern int _gl_cxxalias_dummy ;
# 571
# 582
extern int _gl_cxxalias_dummy ;
# 584
extern int _gl_cxxalias_dummy ;
# 591
# 610
extern int _gl_cxxalias_dummy ;
# 612
extern int _gl_cxxalias_dummy ;
# 623
# 625
# 639
extern int fpurge ( FILE * gl_stream ) ;
# 641
extern int _gl_cxxalias_dummy ;
# 643
extern int _gl_cxxalias_dummy ;
# 651
# 661
extern int _gl_cxxalias_dummy ;
# 663
extern int _gl_cxxalias_dummy ;
# 665
# 676
extern int _gl_cxxalias_dummy ;
# 678
extern int _gl_cxxalias_dummy ;
# 680
# 691
extern int _gl_cxxalias_dummy ;
# 693
extern int _gl_cxxalias_dummy ;
# 695
# 708
extern int _gl_cxxalias_dummy ;
# 711
extern int _gl_cxxalias_dummy ;
# 719
# 731
extern int _gl_cxxalias_dummy ;
# 733
extern int _gl_cxxalias_dummy ;
# 735
# 767
# 782
extern int _gl_cxxalias_dummy ;
# 784
extern int _gl_cxxalias_dummy ;
# 786
# 807
extern int _gl_cxxalias_dummy ;
# 809
extern int _gl_cxxalias_dummy ;
# 819
# 828
# 845
extern int _gl_cxxalias_dummy ;
# 847
extern int _gl_cxxalias_dummy ;
# 849
# 866
extern int _gl_cxxalias_dummy ;
# 868
extern int _gl_cxxalias_dummy ;
# 878
# 887
# 901
extern int _gl_cxxalias_dummy ;
# 903
# 927
extern int _gl_cxxalias_dummy ;
# 929
# 939
extern int _gl_cxxalias_dummy ;
# 941
extern int _gl_cxxalias_dummy ;
# 943
# 953
extern int _gl_cxxalias_dummy ;
# 955
extern int _gl_cxxalias_dummy ;
# 957
# 959
# 984
extern int _gl_cxxalias_dummy ;
# 988
extern int _gl_cxxalias_dummy ;
# 996
# 998
# 1020
extern int _gl_cxxalias_dummy ;
# 1024
extern int _gl_cxxalias_dummy ;
# 1033
# 1041
# 1092
# 1106
# 1127
# 1152
# 1189
extern int _gl_cxxalias_dummy ;
# 1191
extern int _gl_cxxalias_dummy ;
# 1202
# 1212
extern int _gl_cxxalias_dummy ;
# 1214
extern int _gl_cxxalias_dummy ;
# 1216
# 1226
extern int _gl_cxxalias_dummy ;
# 1228
extern int _gl_cxxalias_dummy ;
# 1230
# 1240
extern int _gl_cxxalias_dummy ;
# 1242
extern int _gl_cxxalias_dummy ;
# 1244
# 1254
extern int _gl_cxxalias_dummy ;
# 1256
extern int _gl_cxxalias_dummy ;
# 1263
# 1276
extern int _gl_cxxalias_dummy ;
# 1279
extern int _gl_cxxalias_dummy ;
# 1286
# 1315
# 1342
extern int _gl_cxxalias_dummy ;
# 1344
extern int _gl_cxxalias_dummy ;
# 1346
# 1365
extern int _gl_cxxalias_dummy ;
# 1368
extern int _gl_cxxalias_dummy ;
# 1376
# 1385
# 1406
# 1425
# 1427
# 1435
extern int rpl_asprintf ( char * * result , const char * format , ... ) ;
# 1439
extern int _gl_cxxalias_dummy ;
# 1451
extern int _gl_cxxalias_dummy ;
# 1456
extern int rpl_vasprintf ( char * * result , const char * format , va_list args ) ;
# 1460
extern int _gl_cxxalias_dummy ;
# 1472
extern int _gl_cxxalias_dummy ;
# 1474
# 1503
# 1512
extern int rpl_vfprintf ( FILE * fp , const char * format , va_list args ) ;
# 1520
extern int _gl_cxxalias_dummy ;
# 1528
extern int _gl_cxxalias_dummy ;
# 1539
# 1558
# 1567
extern int rpl_vprintf ( const char * format , va_list args ) ;
# 1575
extern int _gl_cxxalias_dummy ;
# 1582
extern int _gl_cxxalias_dummy ;
# 1593
# 1609
# 1639
# 1666
# 1 "src/system.h"
# 16
# 1 "/usr/include/alloca.h"
# 4
# 7
# 1 "./lib/sys/types.h"
# 18
# 22
# 9 "/usr/include/alloca.h"
# 13
# 30
# 34
# 36
extern void *__builtin_alloca(size_t);
# 40
# 50
# 54
# 20 "src/system.h"
# 1 "./lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 38
# 1 "./lib/sys/types.h"
# 18
# 22
# 42 "./lib/sys/stat.h"
# 1 "./lib/time.h"
# 18
# 22
# 32
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 34 "lib/time.h"
# 34 "./lib/time.h"
# 45 "./lib/sys/stat.h"
# 1 "lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 38
# 1 "./lib/sys/types.h"
# 18
# 22
# 42 "lib/sys/stat.h"
# 1 "./lib/time.h"
# 18
# 22
# 32
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 34 "lib/time.h"
# 34 "./lib/time.h"
# 45 "lib/sys/stat.h"
# 1 "/usr/include/sys/stat.h"
# 4
# 11
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/types.h"
# 18
# 22
# 14 "/usr/include/sys/stat.h"
# 18
# 1 "/usr/include/sys/time_impl.h"
# 4
# 14
# 37 "/usr/include/sys/stat.h"
# 39
# 43
# 132
# 159
# 185
# 189
# 210
struct stat {
dev_t st_dev;
long st_pad1[3];
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
long st_pad2[2];
off_t st_size;
# 223
long st_pad3;
# 225
timespec_t st_atim;
timespec_t st_mtim;
timespec_t st_ctim;
blksize_t st_blksize;
blkcnt_t st_blocks;
char st_fstype[ 16 ];
long st_pad4[8];
};
# 235
# 259
struct stat64 {
dev_t st_dev;
long st_pad1[3];
ino64_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
long st_pad2[2];
off64_t st_size;
timespec_t st_atim;
timespec_t st_mtim;
timespec_t st_ctim;
blksize_t st_blksize;
blkcnt64_t st_blocks;
char st_fstype[ 16 ];
long st_pad4[8];
};
# 282
# 286
# 288
# 345
# 355
# 372
# 387
# 398
# 403
# 418
# 422
# 426
# 428
# 1 "/usr/include/sys/stat_impl.h"
# 4
# 7
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/types.h"
# 18
# 22
# 10 "/usr/include/sys/stat_impl.h"
# 14
# 18
# 20
# 22
extern int fstat(int, struct stat *);
extern int stat(const char *, struct stat *);
# 26
extern int lstat(const char *, struct stat *);
extern int mknod(const char *, mode_t, dev_t);
# 30
extern int fstatat(int, const char *, struct stat *, int);
# 32
# 46
# 48
# 52
# 430 "/usr/include/sys/stat.h"
# 432
# 435
extern int fchmod(int, mode_t);
# 437
extern int chmod(const char *, mode_t);
extern int mkdir(const char *, mode_t);
extern int mkfifo(const char *, mode_t);
extern mode_t umask(mode_t);
# 446
extern int fstat64(int, struct stat64 *);
extern int stat64(const char *, struct stat64 *);
# 449
extern int lstat64(const char *, struct stat64 *);
# 452
extern int fstatat64(int, const char *, struct stat64 *, int);
# 455
# 459
extern int mkdirat(int, const char *, mode_t);
extern int mkfifoat(int, const char *, mode_t);
extern int mknodat(int, const char *, mode_t, dev_t);
extern int fchmodat(int, const char *, mode_t, int);
extern int futimens(int, const timespec_t[2]);
extern int utimensat(int, const char *, const timespec_t[2], int);
# 466
# 504
# 506
# 510
# 48 "lib/sys/stat.h"
# 51
# 308
# 320
# 337
# 358
# 368
# 376
# 381
# 386
# 392
# 396
# 410
# 418
# 426
# 434
# 438
# 446
# 454
# 464
# 468
# 476
# 484
# 488
# 496
# 504
# 509
# 513
# 522
# 530
# 535
# 540
# 545
# 550
# 559
# 564
# 577
# 590
# 603
# 613
# 618
# 622
# 628
# 636
extern int _gl_cxxalias_dummy ;
# 638
extern int _gl_cxxalias_dummy ;
# 646
# 657
extern int _gl_cxxalias_dummy ;
# 659
extern int _gl_cxxalias_dummy ;
# 670
# 689
extern int _gl_cxxalias_dummy ;
# 692
extern int _gl_cxxalias_dummy ;
# 700
# 703
# 712
extern int rpl_futimens ( int fd , struct timespec const times [ 2 ] );
extern int _gl_cxxalias_dummy ;
# 721
extern int _gl_cxxalias_dummy ;
# 730
# 733
# 736
# 746
# 748
extern int _gl_cxxalias_dummy ;
# 767
# 786
extern int _gl_cxxalias_dummy ;
# 789
extern int _gl_cxxalias_dummy ;
# 798
# 809
# 829
extern int _gl_cxxalias_dummy ;
# 832
extern int _gl_cxxalias_dummy ;
# 849
# 865
extern int _gl_cxxalias_dummy ;
# 867
extern int _gl_cxxalias_dummy ;
# 875
# 891
# 907
extern int _gl_cxxalias_dummy ;
# 910
extern int _gl_cxxalias_dummy ;
# 918
# 936
# 1004
# 1007
# 1027
extern int _gl_cxxalias_dummy ;
# 1031
extern int _gl_cxxalias_dummy ;
# 1040
# 48 "./lib/sys/stat.h"
# 22 "src/system.h"
# 25
# 29
# 1 "/usr/include/sys/param.h"
# 4
# 17
# 20
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 25 "/usr/include/sys/param.h"
# 30
# 34
# 50
# 54
# 58
# 73
# 90
# 98
# 100
# 103
# 105
# 107
# 109
# 111
# 122
# 127
# 132
# 136
# 138
# 150
# 157
# 170
# 174
# 191
# 198
# 206
# 212
# 216
# 225
# 229
# 233
# 237
# 269
# 274
# 280
# 289
# 300
# 307
# 326
# 330
# 335
# 493
# 501
# 1 "/usr/include/sys/unistd.h"
# 6
# 10
# 16
# 503 "/usr/include/sys/param.h"
# 507
# 509
extern long _sysconf(int);
# 511
# 519
# 523
# 525
# 33 "src/system.h"
# 1 "./lib/unistd.h"
# 17
# 19
# 23
# 35
# 1 "lib/unistd.h"
# 17
# 19
# 23
# 26
# 31
# 1 "/usr/include/unistd.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 12 "/usr/include/unistd.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/unistd.h"
# 6
# 10
# 16
# 15 "/usr/include/unistd.h"
# 19
# 25
# 32
# 38
# 42
# 46
# 51
# 56
# 58
# 62
# 68
# 74
# 80
# 124
# 153
# 178
# 187
# 208
# 217
# 221
# 233
# 237
# 247
# 268
# 289
# 291
extern int access(const char *, int);
# 294
extern int acct(const char *);
# 296
extern unsigned alarm(unsigned);
# 300
extern int brk(void *);
# 302
extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);
# 307
extern int chroot(const char *);
# 309
extern int close(int);
# 319
extern size_t confstr(int, char *, size_t);
# 321
# 324
extern char *ctermid(char *);
# 327
extern char *ctermid_r(char *);
# 329
# 331
extern char *cuserid(char *);
# 333
extern int dup(int);
extern int dup2(int, int);
# 336
extern char *crypt(const char *, const char *);
extern void encrypt(char *, int);
# 340
extern void endusershell(void);
# 342
extern int execl(const char *, const char *, ...);
extern int execle(const char *, const char *, ...);
extern int execlp(const char *, const char *, ...);
extern int execv(const char *, char *const *);
extern int execve(const char *, char *const *, char *const *);
extern int execvp(const char *, char *const *);
extern void _exit(int) __attribute__ ( ( __noreturn__ ) );
# 350
extern int fexecve(int, char *const *, char *const *);
# 352
# 358
extern int fattach(int, const char *);
# 361
extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);
# 365
extern int fchroot(int);
# 369
extern int fdatasync(int);
# 371
# 377
extern int fdetach(const char *);
# 379
extern pid_t fork(void);
# 381
extern pid_t fork1(void);
extern pid_t forkall(void);
# 384
extern long fpathconf(int, int);
# 387
extern int fsync(int);
# 392
extern int ftruncate(int, off_t);
# 394
extern char *getcwd(char *, size_t);
# 397
extern int getdtablesize(void);
# 399
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);
# 404
extern long gethostid(void);
# 412
extern int gethostname(char *, size_t);
# 415
extern char *getlogin(void);
# 417
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int opterr, optind, optopt;
# 422
extern char * gnu_getpass ( const char * );
# 426
# 428
extern int getpagesize(void);
# 430
extern pid_t getpgid(pid_t);
# 432
extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);
# 437
char *gettxt(const char *, const char *);
# 440
extern pid_t getsid(pid_t);
# 442
extern uid_t getuid(void);
# 444
extern char *getusershell(void);
# 448
extern char *getwd(char *);
# 450
# 456
extern int ioctl(int, int, ...);
extern int isaexec(const char *, char *const *, char *const *);
extern int issetugid(void);
# 460
extern int isatty(int);
# 462
extern int lchown(const char *, uid_t, gid_t);
# 464
extern int link(const char *, const char *);
# 466
extern int reflink(const char *, const char *, int);
extern int reflinkat(int, const char *, int, const char *, int, int);
extern offset_t llseek(int, offset_t, int);
# 473
extern int lockf(int, int, off_t);
# 475
extern off_t lseek(int, off_t, int);
# 478
extern int nice(int);
# 481
extern int mincore(caddr_t, size_t, char *);
# 483
extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);
# 489
extern ssize_t pread(int, void *, size_t, off_t);
# 491
# 495
extern void profil(unsigned short *, size_t, unsigned long, unsigned int) __attribute__ ( ( __deprecated__ ) );
# 498
# 508
extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
# 512
extern int ptrace(int, pid_t, int, int);
# 517
extern ssize_t pwrite(int, const void *, size_t, off_t);
# 522
extern int rbac_chkauth(const char *, const char *, const char *);
# 525
extern int rcmd_af(char **, unsigned short, const char *, const char *,
const char *, int *, int);
# 529
extern ssize_t read(int, void *, size_t);
# 531
extern ssize_t readlink(const char *, char *,
size_t);
# 538
extern int resolvepath(const char *, char *, size_t);
extern char *frealpath(int, char *, size_t);
extern int rexec_af(char **, unsigned short, const char *, const char *,
const char *, int *, int);
# 544
extern int rmdir(const char *);
# 546
extern int rresvport_af(int *, int);
# 549
# 552
extern void *sbrk(intptr_t);
# 555
extern int setegid(gid_t);
extern int seteuid(uid_t);
# 558
extern int setgid(gid_t);
# 560
extern int setgroups(int, const gid_t *);
extern int sethostname(const char *, size_t);
# 563
extern int setpgid(pid_t, pid_t);
# 565
extern pid_t setpgrp(void);
extern int setregid(gid_t, gid_t);
extern int setreuid(uid_t, uid_t);
# 569
extern pid_t setsid(void);
extern int setuid(uid_t);
# 572
extern void setusershell(void);
# 574
extern unsigned sleep(unsigned);
# 576
extern int stime(const time_t *);
# 580
extern void swab(const void *, void *, ssize_t);
# 583
extern int symlink(const char *, const char *);
extern void sync(void);
# 586
# 601
extern long sysconf(int);
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
# 608
extern off_t tell(int);
# 613
extern int truncate(const char *, off_t);
# 615
extern char *ttyname(int);
# 618
extern useconds_t ualarm(useconds_t, useconds_t);
# 620
extern int unlink(const char *);
# 623
extern int usleep(useconds_t);
# 627
extern pid_t vfork(void) __attribute__ ( ( __deprecated__ ) );
# 630
extern void vhangup(void);
# 632
extern ssize_t write(int, const void *, size_t);
# 634
extern void yield(void);
# 636
# 638
extern int faccessat(int, const char *, int, int);
extern int fchownat(int, const char *, uid_t, gid_t, int);
extern int linkat(int, const char *, int, const char *, int);
extern ssize_t readlinkat(int, const char *,
char *, size_t);
extern int symlinkat(const char *, int, const char *);
extern int unlinkat(int, const char *, int);
# 647
extern int get_nprocs(void);
extern int get_nprocs_conf(void);
# 650
# 654
extern int ftruncate64(int, off64_t);
extern off64_t lseek64(int, off64_t, int);
extern ssize_t pread64(int, void *, size_t, off64_t);
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
extern off64_t tell64(int);
extern int truncate64(const char *, off64_t);
extern int lockf64(int, int, off64_t);
# 662
# 991
#pragma unknown_control_flow(vfork)
# 996
# 1000
# 1032
# 1036
# 1038
# 1040
#pragma redefine_extname getlogin_r __posix_getlogin_r
#pragma redefine_extname ttyname_r __posix_ttyname_r
# 1044
extern int getlogin_r(char *, size_t);
extern int ttyname_r(int, char *, size_t);
# 1071
# 1078
# 1127
# 1129
# 1133
# 33 "lib/unistd.h"
# 43 "./lib/unistd.h"
# 51
# 54
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 57 "./lib/unistd.h"
# 67
# 74
# 78
# 81
# 1 "./lib/stdlib.h"
# 18
# 22
# 25
# 27
# 1 "lib/stdlib.h"
# 18
# 22
# 25
# 27
# 1 "/usr/include/stdlib.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/iso/stdlib_iso.h"
# 4
# 19
# 22
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 24 "/usr/include/iso/stdlib_iso.h"
# 30
# 34
# 36
extern unsigned char __ctype[];
# 40
# 63
# 69
# 71
# 75
# 79
# 83
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
# 102
# 114
# 118
# 142
# 176
# 178
extern void abort(void) __attribute__ ( ( __noreturn__ ) );
extern int abs(int);
extern int atexit(void (*)(void));
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
# 193
extern void *calloc(size_t, size_t);
extern div_t div(int, int);
extern void exit(int) __attribute__ ( ( __noreturn__ ) );
extern void free(void *);
extern char *getenv(const char *);
extern long int labs(long);
extern ldiv_t ldiv(long, long);
extern void *malloc(size_t);
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t *, const char *,
size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
# 211
extern int rand(void);
extern void *realloc(void *, size_t);
extern void srand(unsigned int);
extern double strtod(const char *, char **);
extern long int strtol(const char *, char **, int);
extern unsigned long int strtoul(const char *,
char **, int);
extern int system(const char *);
extern int wctomb(char *, wchar_t);
extern size_t wcstombs(char *, const wchar_t *,
size_t);
# 229
# 262
# 266
# 270
# 1 "/usr/include/iso/stdlib_c99.h"
# 4
# 15
# 18
# 22
# 30
# 32
typedef struct {
long long quot;
long long rem;
} lldiv_t;
# 37
# 39
# 42
extern void _Exit(int) __attribute__ ( ( __noreturn__ ) );
extern float strtof(const char *, char **);
extern long double strtold(const char *, char **);
# 48
extern long long atoll(const char *);
extern long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern long long strtoll(const char *, char **,
int);
extern unsigned long long strtoull(const char *,
char **, int);
# 56
# 58
# 64
# 67
# 71
# 80
extern void *aligned_alloc(size_t, size_t);
extern int at_quick_exit(void (*)(void));
extern void quick_exit(int) __attribute__ ( ( __noreturn__ ) );
# 87
# 89
# 115
# 119
# 14 "/usr/include/stdlib.h"
# 1 "./lib/sys/wait.h"
# 17
# 20
# 24
# 1 "lib/sys/wait.h"
# 17
# 20
# 24
# 1 "/usr/include/sys/wait.h"
# 7
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/types.h"
# 18
# 22
# 13 "/usr/include/sys/wait.h"
# 1 "./lib/sys/resource.h"
# 17
# 21
# 24
# 26
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "./lib/sys/time.h"
# 18
# 31 "./lib/sys/resource.h"
# 1 "lib/sys/resource.h"
# 17
# 21
# 24
# 26
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "./lib/sys/time.h"
# 18
# 31 "lib/sys/resource.h"
# 1 "/usr/include/sys/resource.h"
# 4
# 17
# 20
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 22 "/usr/include/sys/resource.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "./lib/sys/time.h"
# 18
# 25 "/usr/include/sys/resource.h"
# 29
# 43
# 55
# 57
# 67
# 73
typedef unsigned long rlim_t;
# 79
# 89
# 91
# 108
struct rlimit {
rlim_t rlim_cur;
rlim_t rlim_max;
};
# 116
typedef u_longlong_t rlim64_t;
# 122
struct rlimit64 {
rlim64_t rlim_cur;
rlim64_t rlim_max;
};
# 129
# 141
# 144
# 146
struct rusage {
struct timeval ru_utime;
struct timeval ru_stime;
long ru_maxrss;
long ru_ixrss;
long ru_idrss;
long ru_isrss;
long ru_minflt;
long ru_majflt;
long ru_nswap;
long ru_inblock;
long ru_oublock;
long ru_msgsnd;
long ru_msgrcv;
long ru_nsignals;
long ru_nvcsw;
long ru_nivcsw;
};
# 171
# 194
# 203
# 207
# 222
# 237
# 239
extern int setrlimit(int, const struct rlimit *);
extern int getrlimit(int, struct rlimit *);
# 246
extern int setrlimit64(int, const struct rlimit64 *);
extern int getrlimit64(int, struct rlimit64 *);
# 249
extern int getpriority(int, id_t);
extern int setpriority(int, id_t, int);
extern int getrusage(int, struct rusage *);
# 271
# 273
# 277
# 34 "lib/sys/resource.h"
# 36
# 39
# 84
# 341
# 353
# 370
# 391
# 401
# 420
# 34 "./lib/sys/resource.h"
# 36
# 18 "/usr/include/sys/wait.h"
# 1 "/usr/include/sys/siginfo.h"
# 4
# 1 "/usr/include/sys/procset.h"
# 4
# 24 "/usr/include/sys/wait.h"
# 28
# 32
# 35
# 45
# 49
# 51
# 56
# 60
# 63
# 65
# 74
# 78
extern pid_t wait(int *);
extern pid_t waitpid(pid_t, int *, int);
# 83
extern int waitid(idtype_t, id_t, siginfo_t *, int);
# 86
extern pid_t wait3(int *, int, struct rusage *);
# 89
# 91
extern pid_t wait4(pid_t, int *, int, struct rusage *);
# 93
# 112
# 116
# 30 "lib/sys/wait.h"
# 33
# 1 "./lib/sys/types.h"
# 18
# 22
# 36 "lib/sys/wait.h"
# 294
# 311
# 332
# 342
# 345
# 352
# 364
# 369
# 374
# 379
# 384
# 411
# 428
# 30 "./lib/sys/wait.h"
# 18 "/usr/include/stdlib.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 23 "/usr/include/stdlib.h"
# 79
# 83
# 88
# 90
# 103
# 116
# 120
extern int rand_r(unsigned int *);
# 122
extern void _exithandle(void);
# 128
extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern unsigned short *seed48(unsigned short *);
extern void srand48(long);
extern int putenv(char *);
extern void setkey(const char *);
# 140
# 143
typedef struct drand48_data {
unsigned int _initialised;
unsigned short int x[3];
unsigned short int a[3];
unsigned int c;
unsigned short lastx[3];
} drand48_data;
extern int drand48_r(struct drand48_data *buffer, double *result);
extern int erand48_r(unsigned short xsubi[3],
struct drand48_data *buffer, double *result);
extern int lrand48_r(struct drand48_data *buffer, long int *result);
extern int nrand48_r(unsigned short int xsubi[3],
struct drand48_data *buffer, long int *result);
extern int mrand48_r(struct drand48_data *buffer, long int *result);
extern int jrand48_r(unsigned short int xsubi[3],
struct drand48_data *buffer, long int *result);
extern int srand48_r(long int seedval, struct drand48_data *buffer);
extern int seed48_r(unsigned short int seed16v[3],
struct drand48_data *buffer);
extern int lcong48_r(unsigned short int param[7],
struct drand48_data *buffer);
# 175
# 194
# 198
extern int mkstemp(char *);
# 200
extern int mkstemps(char *, int);
# 203
# 206
extern int mkstemp64(char *);
# 208
extern int mkstemps64(char *, int);
# 211
# 216
extern int ttyslot(void);
extern void *valloc(size_t);
# 219
# 224
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern char *mktemp(char *);
# 229
# 233
extern long a64l(const char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, size_t);
extern char *l64a(long);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(const char *);
extern void srandom(unsigned);
extern int unlockpt(int);
# 245
# 249
extern int posix_memalign(void **, size_t, size_t);
extern int posix_openpt(int);
extern int setenv(const char *, const char *, int);
extern int unsetenv(const char *);
# 254
# 258
extern char *mkdtemp(char *);
# 260
# 263
extern uint32_t arc4random(void);
extern void arc4random_addrandom(uchar_t *, size_t);
extern void arc4random_buf(void *, size_t);
extern void arc4random_stir(void);
extern uint32_t arc4random_uniform(uint32_t);
extern char *canonicalize_file_name(const char *);
extern int clearenv(void);
extern void closefrom(int);
extern int daemon(int, int);
extern int dup2(int, int);
extern int fdwalk(int (*)(void *, int), void *);
extern char *qecvt(long double, int, int *, int *);
extern char *qfcvt(long double, int, int *, int *);
extern char *qgcvt(long double, int, char *);
extern char *getcwd(char *, size_t);
extern const char *getexecname(void);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char * gnu_getpass ( const char * );
extern char *getpassphrase(const char *);
extern int getpw(uid_t, char *);
extern int isatty(int);
extern void *memalign(size_t, size_t);
extern char *ttyname(int);
extern const char *getprogname(void);
extern void setprogname(const char *);
extern char *secure_getenv(const char *);
# 294
extern char *lltostr(long long, char *);
extern char *ulltostr(unsigned long long, char *);
# 297
# 299
# 425
# 429
# 29 "lib/stdlib.h"
# 29 "./lib/stdlib.h"
# 87 "./lib/unistd.h"
# 103
# 106
# 112
# 119
# 123
# 1 "./lib/sys/types.h"
# 18
# 22
# 126 "./lib/unistd.h"
# 1 "./lib/getopt.h"
# 19
# 21
# 25
# 1 "lib/getopt.h"
# 19
# 21
# 25
# 1 "/usr/include/getopt.h"
# 4
# 9
# 12
# 16
# 26
struct option {
char *name;
int has_arg;
int *flag;
int val;
};
# 38
extern char *optarg;
extern int opterr;
extern int optind;
extern int optopt;
# 47
extern int getopt_long(int, char * const *, const char *,
const struct option *, int *);
extern int getopt_long_only(int, char * const *, const char *,
const struct option *, int *);
extern int getopt_clip(int, char * const *, const char *,
const struct option *, int *);
# 58
# 62
# 35 "lib/getopt.h"
# 37
# 41
# 81
# 105
# 1 "./lib/ctype.h"
# 18
# 25
# 27
# 31
# 1 "lib/ctype.h"
# 18
# 25
# 27
# 31
# 1 "/usr/include/ctype.h"
# 8
# 11
# 1 "/usr/include/iso/ctype_iso.h"
# 8
# 20
# 23
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 25 "/usr/include/iso/ctype_iso.h"
# 29
# 38
# 51
# 54
# 56
extern int isalnum(int);
extern int isalpha(int);
extern int iscntrl(int);
extern int isdigit(int);
extern int isgraph(int);
extern int islower(int);
extern int isprint(int);
extern int ispunct(int);
extern int isspace(int);
extern int isupper(int);
extern int isxdigit(int);
# 70
# 74
extern int tolower(int);
extern int toupper(int);
# 81
extern unsigned char __ctype[];
extern unsigned int *__ctype_mask;
extern int *__trans_upper;
extern int *__trans_lower;
# 88
# 134
# 162
# 164
# 166
# 188
# 192
# 1 "/usr/include/iso/ctype_c99.h"
# 4
# 15
# 18
# 22
# 30
# 32
# 36
extern int isblank(int);
# 38
# 40
# 47
# 49
# 59
# 63
# 14 "/usr/include/ctype.h"
# 34
# 38
# 46
# 48
# 52
extern int isascii(int);
extern int toascii(int);
extern int _tolower(int);
extern int _toupper(int);
# 59
# 62
extern int isalnum_l(int, locale_t);
extern int isalpha_l(int, locale_t);
extern int isblank_l(int, locale_t);
extern int iscntrl_l(int, locale_t);
extern int isdigit_l(int, locale_t);
extern int isgraph_l(int, locale_t);
extern int islower_l(int, locale_t);
extern int isprint_l(int, locale_t);
extern int ispunct_l(int, locale_t);
extern int isspace_l(int, locale_t);
extern int isupper_l(int, locale_t);
extern int isxdigit_l(int, locale_t);
extern int tolower_l(int, locale_t);
extern int toupper_l(int, locale_t);
# 79
# 81
# 94
# 96
# 98
# 130
# 134
# 36 "lib/ctype.h"
# 39
# 296
# 313
# 334
# 344
# 357
# 36 "./lib/ctype.h"
# 116 "lib/getopt.h"
# 127
# 139
# 143
# 149
extern char *optarg;
# 163
extern int optind;
# 168
extern int opterr;
extern int optopt;
# 216
# 242
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
;
# 257
# 261
# 264
# 35 "./lib/getopt.h"
# 37
# 41
# 81
# 105
# 1 "./lib/ctype.h"
# 18
# 25
# 116 "./lib/getopt.h"
# 127
# 139
# 143
# 149
extern char * rpl_optarg ;
# 163
extern int rpl_optind ;
# 168
extern int rpl_opterr ;
extern int rpl_optopt ;
# 176
# 196
# 198
struct rpl_option
{
const char *name;
# 203
int has_arg;
int *flag;
int val;
};
# 209
# 216
# 242
extern int rpl_getopt ( int ___argc , char * const * ___argv , const char * __shortopts )
;
# 247
extern int rpl_getopt_long ( int ___argc , char * * ___argv ,
const char *__shortopts,
const struct rpl_option *__longopts, int *__longind)
;
extern int rpl_getopt_long_only ( int ___argc , char * * ___argv ,
const char *__shortopts,
const struct rpl_option *__longopts, int *__longind)
;
# 257
# 261
# 264
# 133 "./lib/unistd.h"
# 137
# 141
# 398
# 410
# 427
# 448
# 458
# 534
# 546
# 554
# 564
# 567
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 576
# 579
# 597
extern int _gl_cxxalias_dummy ;
# 599
extern int _gl_cxxalias_dummy ;
# 608
# 620
extern int _gl_cxxalias_dummy ;
# 622
extern int _gl_cxxalias_dummy ;
# 632
# 642
extern int _gl_cxxalias_dummy ;
# 644
extern int _gl_cxxalias_dummy ;
# 652
# 655
# 670
extern int _gl_cxxalias_dummy ;
# 672
extern int _gl_cxxalias_dummy ;
# 680
# 709
# 713
# 728
extern char **environ;
# 747
# 750
# 753
extern int euidaccess ( const char * filename , int mode ) ;
# 756
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 770
# 778
extern int _gl_cxxalias_dummy ;
# 780
extern int _gl_cxxalias_dummy ;
# 788
# 791
# 811
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 820
# 839
extern int _gl_cxxalias_dummy ;
# 842
extern int _gl_cxxalias_dummy ;
# 850
# 853
# 860
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 869
# 872
# 879
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 888
# 891
# 906
extern int _gl_cxxalias_dummy ;
# 908
extern int _gl_cxxalias_dummy ;
# 916
# 919
# 936
# 938
extern int _gl_cxxalias_dummy ;
# 940
extern int _gl_cxxalias_dummy ;
# 948
# 984
# 987
# 1000
extern int _gl_cxxalias_dummy ;
# 1002
extern int _gl_cxxalias_dummy ;
# 1010
# 1013
# 1029
extern int _gl_cxxalias_dummy ;
# 1031
extern int _gl_cxxalias_dummy ;
# 1039
# 1042
# 1062
# 1065
extern int _gl_cxxalias_dummy ;
# 1067
extern int _gl_cxxalias_dummy ;
# 1078
# 1081
# 1094
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1103
# 1144
# 1213
extern int _gl_cxxalias_dummy ;
# 1217
extern int _gl_cxxalias_dummy ;
# 1226
# 1229
# 1234
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1243
# 1245
# 1249
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1258
# 1260
# 1265
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1274
# 1277
# 1279
extern int group_member ( gid_t gid );
# 1281
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1290
# 1301
extern int _gl_cxxalias_dummy ;
# 1303
extern int _gl_cxxalias_dummy ;
# 1311
# 1314
# 1332
extern int _gl_cxxalias_dummy ;
# 1334
extern int _gl_cxxalias_dummy ;
# 1342
# 1345
# 1361
extern int _gl_cxxalias_dummy ;
# 1363
extern int _gl_cxxalias_dummy ;
# 1371
# 1374
# 1396
extern int _gl_cxxalias_dummy ;
# 1400
extern int _gl_cxxalias_dummy ;
# 1408
# 1411
# 1422
extern int _gl_cxxalias_dummy ;
# 1424
extern int _gl_cxxalias_dummy ;
# 1432
# 1435
# 1441
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1450
# 1479
# 1514
# 1549
# 1552
# 1564
# 1567
extern int _gl_cxxalias_dummy ;
# 1569
extern int _gl_cxxalias_dummy ;
# 1571
# 1574
# 1594
extern int _gl_cxxalias_dummy ;
# 1597
extern int _gl_cxxalias_dummy ;
# 1605
# 1623
extern int _gl_cxxalias_dummy ;
# 1626
extern int _gl_cxxalias_dummy ;
# 1634
# 1637
# 1645
extern int _gl_cxxalias_dummy ;
# 1647
extern int _gl_cxxalias_dummy ;
# 1655
# 1682
# 1710
# 1726
extern int _gl_cxxalias_dummy ;
# 1728
extern int _gl_cxxalias_dummy ;
# 1736
# 1766
# 1796
# 1807
extern int _gl_cxxalias_dummy ;
# 1809
extern int _gl_cxxalias_dummy ;
# 1817
# 1833
extern int _gl_cxxalias_dummy ;
# 1835
extern int _gl_cxxalias_dummy ;
# 1843
# 1871
# 1874
# 1886
# 1889
extern int _gl_cxxalias_dummy ;
# 1891
extern int _gl_cxxalias_dummy ;
# 1893
# 35 "src/system.h"
# 1 "/usr/include/limits.h"
# 4
# 11
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 1 "/usr/include/iso/limits_iso.h"
# 4
# 20
# 23
# 27
# 35
# 37
# 47
# 63
# 69
# 71
# 73
# 75
# 79
# 15 "/usr/include/limits.h"
# 1 "/usr/include/sys/int_limits.h"
# 4
# 7
# 31
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 33 "/usr/include/sys/int_limits.h"
# 37
# 69
# 78
# 84
# 90
# 99
# 106
# 115
# 122
# 136
# 143
# 156
# 161
# 170
# 175
# 182
# 193
# 199
# 208
# 217
# 224
# 231
# 236
# 245
# 250
# 252
# 260
# 264
# 28 "/usr/include/limits.h"
# 32
# 35
# 37
# 50
# 54
# 58
# 60
# 64
# 66
# 68
# 72
# 116
# 122
# 127
# 131
# 140
# 142
# 155
# 157
# 161
# 167
# 173
# 175
# 177
# 180
# 190
# 197
# 203
# 208
# 211
# 216
# 220
# 223
# 225
# 229
# 231
# 234
# 237
# 254
# 259
# 261
# 266
# 270
# 282
# 288
# 290
# 1 "/usr/include/sys/unistd.h"
# 6
# 10
# 16
# 293 "/usr/include/limits.h"
# 302
extern long _sysconf(int);
# 306
# 311
# 315
# 37 "src/system.h"
# 1 "./lib/pathmax.h"
# 17
# 20
# 41
# 1 "./lib/unistd.h"
# 17
# 43 "./lib/pathmax.h"
# 1 "/usr/include/limits.h"
# 4
# 45 "./lib/pathmax.h"
# 49
# 54
# 58
# 67
# 82
# 42 "src/system.h"
# 1 "./lib/configmake.h"
# 44 "src/system.h"
# 1 "./lib/sys/time.h"
# 18
# 1 "./lib/time.h"
# 18
# 22
# 32
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 34 "lib/time.h"
# 34 "./lib/time.h"
# 47 "src/system.h"
# 1 "/usr/include/sys/mkdev.h"
# 4
# 10
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/types32.h"
# 4
# 7
# 1 "/usr/include/sys/int_types.h"
# 4
# 9 "/usr/include/sys/types32.h"
# 13
# 25
typedef uint32_t caddr32_t;
typedef int32_t daddr32_t;
typedef int32_t off32_t;
typedef uint32_t ino32_t;
typedef int32_t blkcnt32_t;
typedef uint32_t fsblkcnt32_t;
typedef uint32_t fsfilcnt32_t;
typedef int32_t id32_t;
typedef uint32_t major32_t;
typedef uint32_t minor32_t;
typedef int32_t key32_t;
typedef uint32_t mode32_t;
typedef uint32_t uid32_t;
typedef uint32_t gid32_t;
typedef uint32_t nlink32_t;
typedef uint32_t dev32_t;
typedef int32_t pid32_t;
typedef uint32_t size32_t;
typedef int32_t ssize32_t;
typedef int32_t time32_t;
typedef int32_t clock32_t;
struct timeval32 {
time32_t tv_sec;
int32_t tv_usec;
};
typedef struct timespec32 {
time32_t tv_sec;
int32_t tv_nsec;
} timespec32_t;
typedef struct timespec32 timestruc32_t;
typedef struct itimerspec32 {
struct timespec32 it_interval;
struct timespec32 it_value;
} itimerspec32_t;
# 67
# 13 "/usr/include/sys/mkdev.h"
# 17
# 25
# 33
# 36
# 48
# 53
# 55
# 57
# 64
# 66
extern dev_t makedev(const major_t, const minor_t);
extern major_t major(const dev_t);
extern minor_t minor(const dev_t);
extern minor_t maxminor();
extern dev_t __makedev(const int, const major_t, const minor_t);
extern major_t __major(const int, const dev_t);
extern minor_t __minor(const int, const dev_t);
# 86
# 89
# 93
# 95
# 99
# 60 "src/system.h"
# 67
# 71
# 1 "./lib/string.h"
# 18
# 22
# 34
# 1 "/usr/include/errno.h"
# 7
# 10
# 14
# 1 "/usr/include/sys/ccompile.h"
# 4
# 1 "/usr/include/sys/errno.h"
# 4
# 17
# 20
# 24
# 28
# 77
# 80
# 89
# 91
# 95
# 101
# 108
# 111
# 114
# 117
# 120
# 127
# 141
# 154
# 157
# 161
# 167
# 177
# 180
# 184
# 17 "/usr/include/errno.h"
# 21
# 25
# 55
# 76
# 88
# 90
extern int *___errno(void) __attribute__ ( ( __const__ ) );
# 94
# 96
# 98
#pragma does_not_read_global_data(___errno)
#pragma does_not_write_global_data(___errno)
#pragma no_side_effect(___errno)
# 102
# 106
# 74 "src/system.h"
# 81
# 1 "/usr/include/stdbool.h"
# 5
# 8
# 1 "/usr/include/sys/stdbool.h"
# 5
# 8
# 26
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 28 "/usr/include/sys/stdbool.h"
# 31
# 35
# 39
# 41
# 44
# 10 "/usr/include/stdbool.h"
# 1 "./lib/stdlib.h"
# 18
# 22
# 31
# 34
# 1 "lib/stdlib.h"
# 18
# 22
# 31
# 34
# 1 "/usr/include/stdlib.h"
# 4
# 37 "lib/stdlib.h"
# 40
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 43 "lib/stdlib.h"
# 48
# 1 "/usr/include/sys/loadavg.h"
# 4
# 7
# 11
# 15
# 17
# 23
# 27
extern int getloadavg(double [], int);
# 30
# 34
# 53 "lib/stdlib.h"
# 58
# 90
# 92
# 1 "./lib/unistd.h"
# 17
# 98 "lib/stdlib.h"
# 106
# 118
# 375
# 387
# 404
# 425
# 435
# 441
# 449
# 466
# 485
# 495
extern int _gl_cxxalias_dummy ;
# 497
extern int _gl_cxxalias_dummy ;
# 504
# 518
extern int _gl_cxxalias_dummy ;
# 520
extern int _gl_cxxalias_dummy ;
# 529
# 531
# 539
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 548
# 576
# 592
# 607
extern int _gl_cxxalias_dummy ;
# 609
extern int _gl_cxxalias_dummy ;
# 616
# 627
extern int _gl_cxxalias_dummy ;
# 629
extern int _gl_cxxalias_dummy ;
# 631
# 650
# 677
# 707
# 709
# 728
extern int _gl_cxxalias_dummy ;
# 730
extern int _gl_cxxalias_dummy ;
# 738
# 763
# 779
# 804
# 830
# 837
extern int rpl_putenv ( char * string );
extern int _gl_cxxalias_dummy ;
# 842
extern int _gl_cxxalias_dummy ;
# 844
# 867
# 876
# 891
# 905
# 922
# 936
# 962
# 991
# 1024
# 1053
# 1065
extern int _gl_cxxalias_dummy ;
# 1067
extern int _gl_cxxalias_dummy ;
# 1074
# 1098
# 1100
# 1103
extern int rpmatch ( const char * response ) ;
# 1105
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1114
# 1116
# 1121
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 1130
# 1132
# 1150
extern int _gl_cxxalias_dummy ;
# 1154
extern int _gl_cxxalias_dummy ;
# 1163
# 1165
# 1170
extern double rpl_strtod ( const char * str , char * * endp ) ;
# 1172
extern int _gl_cxxalias_dummy ;
# 1180
extern int _gl_cxxalias_dummy ;
# 1188
# 1190
# 1203
extern int _gl_cxxalias_dummy ;
# 1205
extern int _gl_cxxalias_dummy ;
# 1213
# 1215
# 1228
extern int _gl_cxxalias_dummy ;
# 1230
extern int _gl_cxxalias_dummy ;
# 1238
# 1254
# 1256
# 1262
extern int rpl_unsetenv ( const char * name );
extern int _gl_cxxalias_dummy ;
# 1271
extern int _gl_cxxalias_dummy ;
# 1280
# 1295
# 37 "./lib/stdlib.h"
# 1 "src/version.h"
extern char const *Version;
# 85 "src/system.h"
enum
{
EXIT_TIMEDOUT = 124,
EXIT_CANCELED = 125,
EXIT_CANNOT_INVOKE = 126,
EXIT_ENOENT = 127
};
# 1 "./lib/exitfail.h"
# 17
extern int volatile exit_failure;
# 96 "src/system.h"
static inline void
initialize_exit_failure (int status)
{
if (status != 1 )
exit_failure = status;
}
# 1 "./lib/fcntl.h"
# 18
# 24
# 44
# 47
# 1 "./lib/sys/types.h"
# 18
# 22
# 51 "./lib/fcntl.h"
# 1 "./lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 60 "./lib/fcntl.h"
# 1 "lib/fcntl.h"
# 18
# 24
# 44
# 47
# 1 "./lib/sys/types.h"
# 18
# 22
# 51 "lib/fcntl.h"
# 1 "./lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 60 "lib/fcntl.h"
# 1 "/usr/include/fcntl.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "./lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/fcntl.h"
# 4
# 17
# 20
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 22 "/usr/include/sys/fcntl.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 24 "/usr/include/sys/fcntl.h"
# 28
# 47
# 53
# 70
# 84
# 104
# 109
# 116
# 122
# 124
# 132
# 134
# 150
# 152
# 154
# 174
# 176
# 180
# 182
# 186
typedef struct flock {
short l_type;
short l_whence;
off_t l_start;
off_t l_len;
int l_sysid;
pid_t l_pid;
long l_pad[4];
} flock_t;
# 213
# 217
typedef struct flock64 {
short l_type;
short l_whence;
off64_t l_start;
off64_t l_len;
int l_sysid;
pid_t l_pid;
long l_pad[4];
} flock64_t;
# 263
# 265
# 277
# 285
# 289
# 296
# 303
# 307
typedef struct fshare {
short f_access;
short f_deny;
int f_id;
} fshare_t;
# 321
# 333
# 338
# 353
# 355
# 363
# 367
# 17 "/usr/include/fcntl.h"
# 21
# 23
# 29
# 33
# 38
# 43
# 48
# 80
# 110
# 112
extern int fcntl(int, int, ...);
extern int open(const char *, int, ...);
extern int creat(const char *, mode_t);
# 117
extern int posix_fadvise(int, off_t, off_t, int);
extern int posix_fallocate(int, off_t, off_t);
# 121
extern int openat(int, const char *, int, ...);
# 124
extern int attropen(const char *, const char *, int, ...);
extern int directio(int, int);
# 127
# 131
extern int open64(const char *, int, ...);
extern int creat64(const char *, mode_t);
# 134
extern int posix_fadvise64(int, off64_t, off64_t, int);
extern int posix_fallocate64(int, off64_t, off64_t);
# 138
extern int openat64(int, const char *, int, ...);
# 141
extern int attropen64(const char *, const char *, int, ...);
# 144
# 180
# 184
# 62 "lib/fcntl.h"
# 65
# 1 "./lib/unistd.h"
# 17
# 69 "lib/fcntl.h"
# 75
# 333
# 345
# 362
# 383
# 393
# 409
extern int _gl_cxxalias_dummy ;
# 411
extern int _gl_cxxalias_dummy ;
# 419
# 430
extern int _gl_cxxalias_dummy ;
# 432
# 435
extern int _gl_cxxalias_dummy ;
# 443
# 461
extern int _gl_cxxalias_dummy ;
# 464
extern int _gl_cxxalias_dummy ;
# 472
# 479
# 482
# 490
# 494
# 498
# 516
# 521
# 526
# 530
# 534
# 538
# 542
# 546
# 550
# 554
# 558
# 562
# 575
# 579
# 583
# 587
# 591
# 595
# 599
# 603
# 607
# 611
# 616
# 624
# 630
# 635
# 645
# 652
# 658
# 662
# 667
# 671
# 62 "./lib/fcntl.h"
# 106 "src/system.h"
# 1 "./lib/dirent.h"
# 17
# 19
# 23
# 1 "lib/dirent.h"
# 17
# 19
# 23
# 1 "/usr/include/dirent.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 12 "/usr/include/dirent.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "/usr/include/sys/dirent.h"
# 4
# 10
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 12 "/usr/include/sys/dirent.h"
# 16
# 20
typedef struct dirent {
ino_t d_ino;
off_t d_off;
unsigned short d_reclen;
char d_name[1];
} dirent_t;
# 39
# 41
# 45
typedef struct dirent64 {
ino64_t d_ino;
off64_t d_off;
unsigned short d_reclen;
char d_name[1];
} dirent64_t;
# 53
# 65
# 71
# 73
# 81
# 91
# 101
# 103
extern int getdents(int, struct dirent *, size_t);
# 107
# 110
extern int getdents64(int, struct dirent64 *, size_t);
# 115
# 120
# 124
# 15 "/usr/include/dirent.h"
# 19
# 21
# 24
# 26
# 36
typedef struct {
int d_fd;
int d_loc;
int d_size;
char *d_buf;
} DIR;
# 44
# 57
# 70
# 72
extern DIR *opendir(const char *);
# 75
extern DIR *fdopendir(int);
extern int dirfd(DIR *);
extern int scandir(const char *, struct dirent *(*[]),
int (*)(const struct dirent *),
int (*)(const struct dirent **,
const struct dirent **));
extern int alphasort(const struct dirent **,
const struct dirent **);
# 84
extern struct dirent *readdir(DIR *);
# 87
extern long telldir(DIR *);
extern void seekdir(DIR *, long);
# 90
extern void rewinddir(DIR *);
extern int closedir(DIR *);
# 96
extern struct dirent64 *readdir64(DIR *);
# 98
extern int scandir64(const char *, struct dirent64 *(*[]),
int (*)(const struct dirent64 *),
int (*)(const struct dirent64 **,
const struct dirent64 **));
extern int alphasort64(const struct dirent64 **, const struct dirent64 **);
# 105
# 135
# 140
# 155
# 159
# 161
# 163
# 165
#pragma redefine_extname readdir_r __posix_readdir_r
# 168
extern int readdir_r(DIR *, struct dirent *,
struct dirent **);
# 189
# 195
# 215
# 218
extern int readdir64_r(DIR *, struct dirent64 *,
struct dirent64 **);
# 222
# 284
# 286
# 290
# 29 "lib/dirent.h"
# 32
# 1 "./lib/sys/types.h"
# 18
# 22
# 35 "lib/dirent.h"
# 58
# 66
# 323
# 335
# 352
# 373
# 383
# 400
extern int _gl_cxxalias_dummy ;
# 402
extern int _gl_cxxalias_dummy ;
# 410
# 415
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 424
# 429
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
# 438
# 452
extern int _gl_cxxalias_dummy ;
# 454
extern int _gl_cxxalias_dummy ;
# 462
# 464
# 483
extern int _gl_cxxalias_dummy ;
# 485
extern int _gl_cxxalias_dummy ;
# 493
# 495
# 511
extern int _gl_cxxalias_dummy ;
# 513
extern int _gl_cxxalias_dummy ;
# 521
# 548
# 569
# 29 "./lib/dirent.h"
# 111 "src/system.h"
enum
{
NOT_AN_INODE_NUMBER = 0
};
# 123
# 1 "./lib/inttypes.h"
# 18
# 23
# 27
# 35
# 40
# 1 "lib/inttypes.h"
# 18
# 23
# 27
# 35
# 40
# 1 "/usr/include/inttypes.h"
# 4
# 7
# 16
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/inttypes.h"
# 4
# 7
# 17
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 1 "/usr/include/sys/int_types.h"
# 4
# 1 "/usr/include/sys/int_limits.h"
# 4
# 1 "/usr/include/sys/int_const.h"
# 4
# 7
# 29
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 31 "/usr/include/sys/int_const.h"
# 35
# 52
# 58
# 69
# 73
# 76
# 78
# 85
# 89
# 97
# 99
# 106
# 110
# 1 "/usr/include/sys/int_fmtio.h"
# 4
# 7
# 26
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 28 "/usr/include/sys/int_fmtio.h"
# 32
# 54
# 65
# 72
# 95
# 118
# 122
# 143
# 164
# 185
# 206
# 210
# 226
# 247
# 265
# 284
# 300
# 316
# 332
# 351
# 358
# 362
# 25 "/usr/include/sys/inttypes.h"
# 19 "/usr/include/inttypes.h"
# 1 "/usr/include/sys/stdint.h"
# 4
# 7
# 13
# 1 "/usr/include/sys/int_types.h"
# 4
# 1 "/usr/include/sys/int_limits.h"
# 4
# 1 "/usr/include/sys/int_const.h"
# 4
# 17 "/usr/include/sys/stdint.h"
# 24 "/usr/include/inttypes.h"
# 28
# 54
# 57
typedef struct {
intmax_t quot;
intmax_t rem;
} imaxdiv_t;
# 62
# 80
# 83
# 85
extern intmax_t imaxabs(intmax_t);
extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
extern intmax_t strtoimax(const char *, char **,
int);
extern uintmax_t strtoumax(const char *, char **,
int);
extern intmax_t wcstoimax(const wchar_t *,
wchar_t **, int);
extern uintmax_t wcstoumax(const wchar_t *,
wchar_t **, int);
# 103
# 105
# 109
# 44 "lib/inttypes.h"
# 47
# 1 "./lib/stdint.h"
# 18
# 23
# 25
# 29
# 36
# 45
# 53
# 61
# 71
# 1 "lib/stdint.h"
# 18
# 23
# 25
# 29
# 36
# 45
# 53
# 61
# 71
# 1 "/usr/include/stdint.h"
# 4
# 7
# 13
# 1 "/usr/include/sys/stdint.h"
# 4
# 15 "/usr/include/stdint.h"
# 79 "lib/stdint.h"
# 82
# 1 "./lib/sys/types.h"
# 18
# 22
# 92 "lib/stdint.h"
# 1 "/usr/include/limits.h"
# 4
# 96 "lib/stdint.h"
# 98
# 1 "./lib/inttypes.h"
# 18
# 23
# 27
# 35
# 40
# 1 "lib/inttypes.h"
# 18
# 23
# 27
# 35
# 40
# 1 "/usr/include/inttypes.h"
# 4
# 44 "lib/inttypes.h"
# 44 "./lib/inttypes.h"
# 107 "lib/stdint.h"
# 114
# 116
# 120
# 123
# 131
# 133
# 138
# 141
typedef signed char gl_int8_t;
typedef unsigned char gl_uint8_t;
# 145
# 148
typedef short int gl_int16_t;
typedef unsigned short int gl_uint16_t;
# 152
# 155
typedef int gl_int32_t;
typedef unsigned int gl_uint32_t;
# 159
# 165
# 188
# 209
# 214
# 221
# 242
# 247
# 253
# 262
typedef signed char gl_int_fast8_t;
typedef unsigned char gl_uint_fast8_t;
# 266
# 268
typedef int gl_int_fast32_t;
typedef unsigned int gl_uint_fast32_t;
# 274
typedef gl_int_fast32_t gl_int_fast16_t;
typedef gl_uint_fast32_t gl_uint_fast16_t;
# 289
# 294
typedef long int gl_intptr_t;
typedef unsigned long int gl_uintptr_t;
# 298
# 303
# 307
# 321
# 335
# 339
typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
? 1 : -1];
# 344
# 351
# 358
# 365
# 372
# 379
# 383
# 389
# 396
# 403
# 410
# 417
# 422
# 428
# 435
# 442
# 455
# 462
# 467
# 476
# 489
# 497
# 517
# 527
# 540
# 563
# 571
# 579
# 584
# 589
# 594
# 611
# 623
# 633
# 79 "./lib/stdint.h"
# 53 "lib/inttypes.h"
# 1 "/usr/include/limits.h"
# 4
# 55 "lib/inttypes.h"
# 59
# 63
# 320
# 332
# 349
# 370
# 380
# 390
# 541
# 642
# 815
# 864
# 901
# 1030
# 1115
# 1290
# 1331
# 1362
# 1368
# 1380
# 1396
# 1412
extern int _gl_cxxalias_dummy ;
# 1414
extern int _gl_cxxalias_dummy ;
# 1422
# 1438
extern int _gl_cxxalias_dummy ;
# 1440
extern int _gl_cxxalias_dummy ;
# 1448
# 1451
# 1455
# 44 "./lib/inttypes.h"
# 126 "src/system.h"
# 137
# 1 "./lib/stat-macros.h"
# 139 "src/system.h"
# 1 "./lib/timespec.h"
# 18
# 21
# 1 "./lib/time.h"
# 18
# 22
# 32
# 1 "lib/time.h"
# 18
# 22
# 32
# 1 "/usr/include/time.h"
# 4
# 34 "lib/time.h"
# 34 "./lib/time.h"
# 23 "./lib/timespec.h"
# 27
# 31
# 34
enum { TIMESPEC_RESOLUTION = 1000000000 };
enum { LOG10_TIMESPEC_RESOLUTION = 9 };
static struct timespec
make_timespec (time_t s, long int ns)
{
struct timespec r;
r.tv_sec = s;
r.tv_nsec = ns;
return r;
}
# 76
static int
timespec_cmp (struct timespec a, struct timespec b)
{
return (a.tv_sec < b.tv_sec ? -1
: a.tv_sec > b.tv_sec ? 1
: (int) (a.tv_nsec - b.tv_nsec));
}
# 87
static int
timespec_sign (struct timespec a)
{
return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec;
}
struct timespec timespec_add (struct timespec, struct timespec)
;
struct timespec timespec_sub (struct timespec, struct timespec)
;
struct timespec dtotimespec (double)
;
static double
timespectod (struct timespec a)
{
return a.tv_sec + a.tv_nsec / 1e9;
}
void gettime (struct timespec *);
int settime (struct timespec const *);
# 141 "src/system.h"
# 1 "./lib/ctype.h"
# 18
# 25
# 143 "src/system.h"
# 152
# 156
static inline unsigned char to_uchar (char ch) { return ch; }
# 1 "./lib/locale.h"
# 17
# 21
# 31
# 34
# 36
# 1 "lib/locale.h"
# 17
# 21
# 24
# 27
# 1 "/usr/include/locale.h"
# 4
# 7
# 1 "/usr/include/iso/locale_iso.h"
# 4
# 20
# 23
# 1 "/usr/include/sys/feature_tests.h"
# 4
# 25 "/usr/include/iso/locale_iso.h"
# 29
# 33
struct lconv {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
# 61
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
# 68
};
# 77
# 89
# 91
extern char *setlocale(int, const char *);
extern struct lconv *localeconv(void);
# 97
# 101
# 105
# 9 "/usr/include/locale.h"
# 1 "/usr/include/libintl.h"
# 4
# 8
# 1 "/usr/include/sys/isa_defs.h"
# 5
# 10 "/usr/include/libintl.h"
# 14
# 38
# 40
# 43
# 45
# 51
extern char *gettext(const char *);
extern char *dgettext(const char *, const char *);
extern char *dcgettext(const char *, const char *, int);
# 55
extern char *textdomain(const char *);
extern char *bindtextdomain(const char *, const char *);
# 63
extern char *dcngettext(const char *, const char *,
const char *, unsigned long int, int);
extern char *dngettext(const char *, const char *,
const char *, unsigned long int);
extern char *ngettext(const char *, const char *, unsigned long int);
extern char *bind_textdomain_codeset(const char *, const char *);
extern int wdinit(void);
extern int wdchkind(wchar_t);
extern int wdbindf(wchar_t, wchar_t, int);
extern wchar_t *wddelim(wchar_t, wchar_t, int);
extern wchar_t mcfiller(void);
extern int mcwrap(void);
# 106
# 110
# 14 "/usr/include/locale.h"
# 24
# 28
# 30
# 34
# 36
# 45
typedef struct {
char *locale;
void *reserved;
} lclist_t;
# 52
extern int localelist(lclist_t **, int);
extern void localelistfree(lclist_t *);
# 58
# 60
# 63
# 68
# 70
extern locale_t duplocale(locale_t);
extern void freelocale(locale_t);
extern locale_t newlocale(int, const char *, locale_t);
extern locale_t uselocale(locale_t);
# 80
# 90
# 96
# 98
# 102
# 29 "lib/locale.h"
# 39 "./lib/locale.h"
# 41
# 44
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 47 "./lib/locale.h"
# 52
# 309
# 321
# 338
# 359
# 369
# 375
# 456
# 466
extern int _gl_cxxalias_dummy ;
# 468
extern int _gl_cxxalias_dummy ;
# 480
# 501
# 525
# 159 "src/system.h"
# 1 "./lib/gettext.h"
# 17
# 20
# 23
# 1 "/usr/include/libintl.h"
# 4
# 26 "./lib/gettext.h"
# 38
# 94
# 100
# 109
# 112
# 139
# 147
static const char *
pgettext_aux (const char *domain,
const char *msg_ctxt_id, const char *msgid,
int category)
{
const char *translation = dcgettext (domain, msg_ctxt_id, category);
if (translation == msg_ctxt_id)
return msgid;
else
return translation;
}
# 166
static const char *
npgettext_aux (const char *domain,
const char *msg_ctxt_id, const char *msgid,
const char *msgid_plural, unsigned long int n,
int category)
{
const char *translation =
dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
if (translation == msg_ctxt_id || translation == msgid_plural)
return (n == 1 ? msgid : msgid_plural);
else
return translation;
}
# 183
# 1 "./lib/string.h"
# 18
# 22
# 34
# 185 "./lib/gettext.h"
# 192
# 1 "./lib/stdlib.h"
# 18
# 22
# 31
# 196 "./lib/gettext.h"
# 201
# 209
static const char *
dcpgettext_expr (const char *domain,
const char *msgctxt, const char *msgid,
int category)
{
size_t msgctxt_len = strlen (msgctxt) + 1;
size_t msgid_len = strlen (msgid) + 1;
const char *translation;
# 220
char buf[1024];
char *msg_ctxt_id =
(msgctxt_len + msgid_len <= sizeof (buf)
? buf
: (char *) malloc (msgctxt_len + msgid_len));
if (msg_ctxt_id != 0 )
# 227
{
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = dcgettext (domain, msg_ctxt_id, category);
# 233
if (msg_ctxt_id != buf)
free (msg_ctxt_id);
# 236
if (translation != msg_ctxt_id)
return translation;
}
return msgid;
}
# 246
# 254
static const char *
dcnpgettext_expr (const char *domain,
const char *msgctxt, const char *msgid,
const char *msgid_plural, unsigned long int n,
int category)
{
size_t msgctxt_len = strlen (msgctxt) + 1;
size_t msgid_len = strlen (msgid) + 1;
const char *translation;
# 266
char buf[1024];
char *msg_ctxt_id =
(msgctxt_len + msgid_len <= sizeof (buf)
? buf
: (char *) malloc (msgctxt_len + msgid_len));
if (msg_ctxt_id != 0 )
# 273
{
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
# 279
if (msg_ctxt_id != buf)
free (msg_ctxt_id);
# 282
if (!(translation == msg_ctxt_id || translation == msgid_plural))
return translation;
}
return (n == 1 ? msgid : msgid_plural);
}
# 169 "src/system.h"
# 172
# 175
static inline unsigned long int
select_plural (uintmax_t n)
{
# 180
enum { PLURAL_REDUCER = 1000000 };
return (n <= 4294967295UL ? n : n % PLURAL_REDUCER + PLURAL_REDUCER);
}
# 187
# 191
# 195
# 199
# 203
# 207
# 211
# 215
# 229
# 233
# 1 "./lib/xalloc.h"
# 17
# 20
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 22 "./lib/xalloc.h"
# 1 "lib/xalloc-oversized.h"
# 17
# 20
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 22 "lib/xalloc-oversized.h"
# 37
# 24 "./lib/xalloc.h"
# 28
# 32
# 36
# 43
# 50
# 56
extern __attribute__ ( ( __noreturn__ ) ) void xalloc_die (void);
void *xmalloc (size_t s)
;
void *xzalloc (size_t s)
;
void *xcalloc (size_t n, size_t s)
;
void *xrealloc (void *p, size_t s)
;
void *x2realloc (void *p, size_t *pn);
void *xmemdup (void const *p, size_t s)
;
char *xstrdup (char const *str)
;
# 76
# 80
# 85
# 88
# 90
# 93
# 96
# 100
static void *xnmalloc (size_t n, size_t s)
;
static void *
xnmalloc (size_t n, size_t s)
{
if ( ( ( size_t ) ( sizeof ( ptrdiff_t ) <= sizeof ( size_t ) ? - 1 : - 2 ) / ( s ) < ( n ) ))
xalloc_die ();
return xmalloc (n * s);
}
# 113
static void *xnrealloc (void *p, size_t n, size_t s)
;
static void *
xnrealloc (void *p, size_t n, size_t s)
{
if ( ( ( size_t ) ( sizeof ( ptrdiff_t ) <= sizeof ( size_t ) ? - 1 : - 2 ) / ( s ) < ( n ) ))
xalloc_die ();
return xrealloc (p, n * s);
}
# 177
static void *
x2nrealloc (void *p, size_t *pn, size_t s)
{
size_t n = *pn;
if (! p)
{
if (! n)
{
# 191
enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 };
n = DEFAULT_MXFAST / s;
n += !n;
}
}
else
{
# 203
if ((size_t) -1 / 3 * 2 / s <= n)
xalloc_die ();
n += n / 2 + 1;
}
*pn = n;
return xrealloc (p, n * s);
}
# 214
static char *xcharalloc (size_t n)
;
static char *
xcharalloc (size_t n)
{
return ( ( char * ) ( sizeof ( char ) == 1 ? xmalloc ( n ) : xnmalloc ( n , sizeof ( char ) ) ) );
}
# 261
# 1 "./lib/verify.h"
# 17
# 22
# 39
# 44
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 52 "./lib/verify.h"
# 152
# 156
# 166
# 170
# 174
# 177
# 198
# 205
# 213
# 223
# 234
# 239
# 241
# 244
# 247
# 250
# 252
# 256
# 260
# 276
# 236 "src/system.h"
# 243
# 250
# 1 "./lib/unlocked-io.h"
# 17
# 22
# 33
# 1 "./lib/stdio.h"
# 18
# 22
# 36
# 35 "./lib/unlocked-io.h"
# 42
# 49
# 56
# 63
# 70
# 77
# 84
# 91
# 98
# 105
# 112
# 119
# 126
# 129
# 132
# 135
# 1 "./lib/same-inode.h"
# 17
# 20
# 32
# 253 "src/system.h"
# 1 "./lib/dirname.h"
# 18
# 21
# 1 "/usr/include/stdbool.h"
# 5
# 1 "./lib/stddef.h"
# 18
# 25
# 29
# 49
# 1 "lib/dosname.h"
# 19
# 22
# 40
# 44
# 52
# 25 "./lib/dirname.h"
# 29
# 33
# 37
# 39
char *base_name (char const *file);
char *dir_name (char const *file);
# 42
char *mdir_name (char const *file);
size_t base_len (char const *file) ;
size_t dir_len (char const *file) ;
char *last_component (char const *file) ;
_Bool strip_trailing_slashes (char *file);
# 53
# 1 "./lib/openat.h"
# 16
# 21
# 1 "./lib/fcntl.h"
# 18
# 24
# 44
# 23 "./lib/openat.h"
# 1 "./lib/sys/types.h"
# 18
# 22
# 1 "./lib/sys/stat.h"
# 17
# 23
# 27
# 35
# 1 "./lib/unistd.h"
# 17
# 1 "/usr/include/stdbool.h"
# 5
# 28 "./lib/openat.h"
# 32
# 41
# 45
# 47
__attribute__ ( ( __noreturn__ ) ) void openat_restore_fail (int);
__attribute__ ( ( __noreturn__ ) ) void openat_save_fail (int);
# 54
# 56
# 60
static int
chownat (int fd, char const *file, uid_t owner, gid_t group)
{
return fchownat (fd, file, owner, group, 0);
}
static int
lchownat (int fd, char const *file, uid_t owner, gid_t group)
{
return fchownat (fd, file, owner, group, 0x1000 );
}
# 74
# 76
# 80
static int
chmodat (int fd, char const *file, mode_t mode)
{
return fchmodat (fd, file, mode, 0);
}
static int
lchmodat (int fd, char const *file, mode_t mode)
{
return fchmodat (fd, file, mode, 0x1000 );
}
# 94
# 96
# 100
static int
statat (int fd, char const *name, struct stat *st)
{
return fstatat (fd, name, st, 0);
}
static int
lstatat (int fd, char const *name, struct stat *st)
{
return fstatat (fd, name, st, 0x1000 );
}
# 114
# 120
# 256 "src/system.h"
static inline _Bool
dot_or_dotdot (char const *file_name)
{
if (file_name[0] == '.')
{
char sep = file_name[(file_name[1] == '.') + 1];
return (! sep || ( ( sep ) == '/' ));
}
else
return 0 ;
}
static inline struct dirent const *
readdir_ignoring_dot_and_dotdot (DIR *dirp)
{
while (1)
{
struct dirent const *dp = readdir (dirp);
if (dp == 0 || ! dot_or_dotdot (dp->d_name))
return dp;
}
}
static inline _Bool
is_empty_dir (int fd_cwd, char const *dir)
{
DIR *dirp;
struct dirent const *dp;
int saved_errno;
int fd = openat (fd_cwd, dir,
( 0 | 0x1000000
| 0x800 | 0x20000 | 0x80 ));
if (fd < 0)
return 0 ;
dirp = fdopendir (fd);
if (dirp == 0 )
{
close (fd);
return 0 ;
}
( * ( ___errno ( ) ) ) = 0;
dp = readdir_ignoring_dot_and_dotdot (dirp);
saved_errno = ( * ( ___errno ( ) ) );
closedir (dirp);
if (dp != 0 )
return 0 ;
return saved_errno == 0 ? 1 : 0 ;
}
# 316
enum
{
GETOPT_HELP_CHAR = ( ( - 128 ) - 2),
GETOPT_VERSION_CHAR = ( ( - 128 ) - 3)
};
# 328
# 333
# 341
# 346
# 1 "./lib/closein.h"
# 17
# 20
# 24
void close_stdin_set_file_name (const char *file);
void close_stdin (void);
# 31
# 1 "./lib/closeout.h"
# 18
# 21
# 1 "/usr/include/stdbool.h"
# 5
# 23 "./lib/closeout.h"
# 27
void close_stdout_set_file_name (const char *file);
void close_stdout_set_ignore_EPIPE ( _Bool ignore);
void close_stdout (void);
# 35
# 349 "src/system.h"
# 1 "./lib/version-etc.h"
# 16
# 21
# 1 "/usr/include/stdarg.h"
# 8
# 1 "./lib/stdio.h"
# 18
# 22
# 36
# 24 "./lib/version-etc.h"
# 33
extern const char version_etc_copyright[];
# 50
extern void version_etc_arn (FILE *stream,
const char *command_name, const char *package,
const char *version,
const char * const * authors, size_t n_authors);
extern void version_etc_ar (FILE *stream,
const char *command_name, const char *package,
const char *version, const char * const * authors);
extern void version_etc_va (FILE *stream,
const char *command_name, const char *package,
const char *version, va_list authors);
# 69
extern void version_etc (FILE *stream,
const char *command_name, const char *package,
const char *version,
... )
;
extern void unused__emit_bug_reporting_address ( void );
# 353 "src/system.h"
# 1 "./lib/propername.h"
# 17
# 82
# 85
# 90
extern const char * proper_name (const char *name) ;
# 98
extern const char * proper_name_utf8 (const char *name_ascii,
const char *name_utf8);
# 104
# 355 "src/system.h"
# 361
# 1 "./lib/progname.h"
# 17
# 20
# 24
# 29
extern const char *program_name;
# 37
extern void set_program_name (const char *argv0);
# 55
# 60
# 363 "src/system.h"
# 370
# 374
# 378
# 1 "./lib/intprops.h"
# 17
# 22
# 1 "/usr/include/limits.h"
# 4
# 24 "./lib/intprops.h"
# 28
# 32
# 35
# 39
# 47
# 50
# 53
# 57
# 63
# 75
# 88
# 98
# 107
# 112
# 124
# 128
# 163
# 170
# 177
# 184
# 201
# 206
# 214
# 226
# 253
# 265
# 294
# 310
# 319
# 380 "src/system.h"
# 384
# 388
# 392
# 396
# 400
# 404
# 411
# 417
# 421
# 429
# 444
# 448
# 451
static inline size_t
gcd (size_t u, size_t v)
{
do
{
size_t t = u % v;
u = v;
v = t;
}
while (v);
return u;
}
# 469
static inline size_t
lcm (size_t u, size_t v)
{
return u * (v / gcd (u, v));
}
# 480
static inline void *
ptr_align (void const *ptr, size_t alignment)
{
char const *p0 = ptr;
char const *p1 = p0 + alignment - 1;
return (void *) (p1 - (size_t) p1 % alignment);
}
# 491
static inline _Bool
is_nul (void const *buf, size_t bufsize)
{
typedef gl_uintptr_t word;
void const *vp;
char const *cbuf = buf;
word const *wp = buf;
while (*wp++ == 0)
continue;
vp = wp - 1;
char const *cp = vp;
while (*cp++ == 0)
continue;
return cbuf + bufsize < cp;
}
# 523
# 533
static inline void
emit_stdin_note (void)
{
fputs ( gettext ( "\nWith no FILE, or when FILE is -, read standard input.\n" ), ( & __iob [ 1 ] ));
# 540
}
static inline void
emit_mandatory_arg_note (void)
{
fputs ( gettext ( "\nMandatory arguments to long options are mandatory for short options too.\n" ), ( & __iob [ 1 ] ));
# 547
}
static inline void
emit_size_note (void)
{
fputs ( gettext ( "\nThe SIZE argument is an integer and optional unit (example: 10K is 10*1024).\nUnits are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).\n" ), ( & __iob [ 1 ] ));
# 556
}
static inline void
emit_blocksize_note (char const *program)
{
printf ( gettext ( "\nDisplay values are in units of the first available SIZE from --block-size,\nand the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\nOtherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" ), program);
# 566
}
static inline void
emit_ancillary_info (char const *program)
{
struct infomap { char const *program; char const *node; } const infomap[] = {
{ "[", "test invocation" },
{ "coreutils", "Multi-call invocation" },
{ "sha224sum", "sha2 utilities" },
{ "sha256sum", "sha2 utilities" },
{ "sha384sum", "sha2 utilities" },
{ "sha512sum", "sha2 utilities" },
{ 0 , 0 }
};
char const *node = program;
struct infomap const *map_prog = infomap;
while (map_prog->program && ! ( strcmp ( program , map_prog -> program ) == 0 ))
map_prog++;
if (map_prog->node)
node = map_prog->node;
printf ( gettext ( "\n%s online help: <%s>\n" ), "GNU coreutils" , "http://www.gnu.org/software/coreutils/" );
# 594
const char *lc_messages = setlocale ( 5 , 0 );
if (lc_messages && strncmp ( lc_messages , "" "en_" "" , sizeof ( "en_" ) - 1 ))
{
# 601
printf ( gettext ( "Report %s translation bugs to " "<http://translationproject.org/team/>\n" ) , program ) ;
# 603
}
printf ( gettext ( "Full documentation at: <%s%s>\n" ),
"http://www.gnu.org/software/coreutils/" , program);
printf ( gettext ( "or available locally via: info '(coreutils) %s%s'\n" ),
node, node == program ? " invocation" : "");
}
static inline void
emit_try_help (void)
{
fprintf ( ( & __iob [ 2 ] ), gettext ( "Try '%s --help' for more information.\n" ), program_name);
}
# 1 "./lib/inttostr.h"
# 17
# 1 "./lib/stdint.h"
# 18
# 23
# 1 "./lib/sys/types.h"
# 18
# 22
# 22 "./lib/inttostr.h"
# 1 "lib/intprops.h"
# 17
# 24 "./lib/inttostr.h"
# 33
# 41
char *imaxtostr (intmax_t, char *) ;
char *inttostr (int, char *) ;
char *offtostr (off_t, char *) ;
char *uinttostr (unsigned int, char *) ;
char *umaxtostr (uintmax_t, char *) ;
# 617 "src/system.h"
static inline char *
timetostr (time_t t, char *buf)
{
return ( ( ! ( ( time_t ) 0 < ( time_t ) - 1 ) )
? imaxtostr (t, buf)
: umaxtostr (t, buf));
}
static inline char *
bad_cast (char const *s)
{
return (char *) s;
}
static inline _Bool
usable_st_size (struct stat const *sb)
{
return ( ( ( ( sb -> st_mode ) & 0xF000 ) == 0x8000 ) || ( ( ( sb -> st_mode ) & 0xF000 ) == 0xa000 )
|| ( 0 ) || 0 );
}
void usage (int status) ;
# 651
# 663
# 669
static inline char *
stzncpy (char * __restrict__ dest, char const * __restrict__ src, size_t len)
{
char const *src_end = src + len;
while (src < src_end && *src)
*dest++ = *src++;
*dest = 0;
return dest;
}
# 682
# 687
static inline char * se_const (char const * sctx) { return (char *) sctx; }
# 693
static inline _Bool
is_ENOTSUP (int err)
{
return err == 122 || ( 48 != 122 && err == 48 );
}
# 22 "src/libstdbuf.c"
# 58
static const char *
fileno_to_name (const int fd)
{
const char *ret = 0 ;
switch (fd)
{
case 0:
ret = "stdin";
break;
case 1:
ret = "stdout";
break;
case 2:
ret = "stderr";
break;
default:
ret = "unknown";
break;
}
return ret;
}
static void
apply_mode (FILE *stream, const char *mode)
{
char *buf = 0 ;
int setvbuf_mode;
size_t size = 0;
if (*mode == '0')
setvbuf_mode = 0004 ;
else if (*mode == 'L')
setvbuf_mode = 0100 ;
else
{
setvbuf_mode = 0000 ;
extern int ( * _gl_verify_function97 ( void ) ) [ ( ! ! sizeof ( struct { unsigned int _gl_verify_error_if_negative : ( ( ( 0 ) ? ~ ( ( 0 ) ? ( - ( ( 0ul ) + 1 ) << ( ( 64 ) ? ( 64 ) - 1 : 0 ) ) : ( 0ul ) ) : ( ( ( ( 0ul ) + 1 ) << ( ( 64 ) ? ( 64 ) - 1 - ( 0 ) : 0 ) ) - 1 ) * 2 + 1 ) <= 4294967295UL ) ? 1 : - 1 ; } ) ) ];
size = strtoul (mode, 0 , 10);
if (size > 0)
{
if (!(buf = malloc (size)))
{
# 106
fprintf ( ( & __iob [ 2 ] ),
gettext ( "failed to allocate a %" "llu" " byte stdio buffer\n" ) , ( uintmax_t ) size ) ;
# 109
return;
}
}
else
{
fprintf ( ( & __iob [ 2 ] ), gettext ( "invalid buffering mode %s for %s\n" ),
mode, fileno_to_name (fileno (stream)));
return;
}
}
if (setvbuf (stream, buf, setvbuf_mode, size) != 0)
{
fprintf ( ( & __iob [ 2 ] ), gettext ( "could not set buffering of %s to mode %s\n" ),
fileno_to_name (fileno (stream)), mode);
free (buf);
}
}
static void __attribute ((constructor))
stdbuf (void)
{
char *e_mode = getenv ("_STDBUF_E");
char *i_mode = getenv ("_STDBUF_I");
char *o_mode = getenv ("_STDBUF_O");
if (e_mode)
apply_mode ( ( & __iob [ 2 ] ), e_mode);
if (i_mode)
apply_mode ( ( & __iob [ 0 ] ), i_mode);
if (o_mode)
apply_mode ( ( & __iob [ 1 ] ), o_mode);
}
#ident "acomp: Sun C 5.13 SunOS_sparc Patch 151632-04 2015/11/06"