mirror of https://gitee.com/Nocallback/glibc.git
Tree:
3f853f22c8
aaribaud/bugzilla/23789/v2
aaribaud/bugzilla/23789/v4
aaribaud/y2038
aaribaud/y2038-submitted-v1
aj/revert-sunrpc
aj/shared-linux-fcntl
alistair/rv32.next
alistair/rv32.wip
allan/config-files
andros/avx512f-mem
andros/libmvec
andros/pr19654
archlinux/2.18/master
arm/gcs
arm/ilp32
arm/morello/main
arm/morello/v1
arm/morello/v2
arm/morello/v3
azanella/alloca-removal
azanella/bz12683
azanella/bz23960-dirent
azanella/bz30266
azanella/bz30558-posix_timer
azanella/bz30944-memcpy-zen
azanella/clang
azanella/mips-hw-fp-round
carlos/dlmopen
carlos/master
cmetcalf/tile-2.15
codonell/c-utf8
codonell/ld-audit
cvs/fedora-2_3-branch
cvs/fedora-2_5-branch
cvs/fedora-branch
cvs/glibc-2-1-branch
cvs/glibc-2-2-branch
cvs/glibc-2_0_x
cvs/glibc-2_10-branch
cvs/glibc-2_3-branch
cvs/glibc-2_5-branch
cvs/glibc-2_6-branch
cvs/glibc-2_7-branch
cvs/glibc-2_8-branch
cvs/glibc-2_9-branch
cvs/master
cvs/sparc-2_0_x-branch
cvs/thomas-posix1996
davem/sparc
dj/malloc
dj/malloc-tcache
fedora/2.10/master
fedora/2.11/master
fedora/2.12/master
fedora/2.13/master
fedora/2.14/master
fedora/2.22/master
fedora/master
fw/bug16145
fw/bug20018-backport
fw/bug21041
fw/bug21242
fw/bug24214
fw/bug24562
fw/bug25097
fw/bug25112
fw/bug25157
fw/bug25225
fw/bug30619
fw/dl-bind-performance
fw/dlopen-nodelete-reloc
fw/elf-fixups
fw/gcc-10-fixes
fw/getdents64
fw/libc-early-init-2
fw/libm-noprivate-2.27
fw/linux-5.2
fw/localedef-utf8
fw/math-split-tests
fw/no-symlinks
fw/nss-declare
fw/resolv-cleanups
fw/syscall-cleanups
fw/tst-gmon
fw/tst-lchmod
fw/tst-mallocfork2
fw/twalk_r-iconv
fw/vfprintf-2
gabriel/powerpc-ieee128-printscan
gentoo/2.18
gentoo/2.19
gentoo/2.20
gentoo/2.21
gentoo/2.22
gentoo/2.23
gentoo/2.24
gentoo/2.25
google/grte/v4-2.19/master
google/grte/v5-2.27/master
google/grte/v6-2.29/master
hjl/2.17/memset
hjl/32bit/2.22
hjl/32bit/master
hjl/cache/master
hjl/cacheinfo/master
hjl/cacheline/ifunc
hjl/cacheline/master
hjl/ctor/release/2.11
hjl/ctor/release/2.12
hjl/erms/2.22
hjl/erms/2.23
hjl/erms/i386
hjl/erms/ifunc
hjl/erms/master
hjl/erms/nt
hjl/fma/2.26
hjl/fma/master
hjl/global
hjl/gmp
hjl/hwcap/master
hjl/i386/master
hjl/i486/multiarch
hjl/i486/multiarch-old
hjl/implies
hjl/init
hjl/ld.so/master
hjl/memcpy/dpdk/master
hjl/mempcpy
hjl/nsz/math
hjl/plt/2.21
hjl/plt/2.22
hjl/plt/master
hjl/pr14370
hjl/pr14562/2.16
hjl/pr14562/master
hjl/pr14654
hjl/pr14716
hjl/pr14831
hjl/pr14937
hjl/pr14941
hjl/pr14955
hjl/pr14995
hjl/pr17711/2.18
hjl/pr17711/2.19
hjl/pr17711/2.20
hjl/pr17711/2.21
hjl/pr17841/2.21
hjl/pr17841/master
hjl/pr18078
hjl/pr18422
hjl/pr18661
hjl/pr18696
hjl/pr19122
hjl/pr19178/master
hjl/pr19363/2.22
hjl/pr19363/clobber
hjl/pr19363/master
hjl/pr19371/master
hjl/pr19463
hjl/pr19583
hjl/pr19590
hjl/pr19679/2.23
hjl/pr20309/master
hjl/pr21120/2.24
hjl/pr21120/2.25
hjl/pr21120/master
hjl/pr21258/2.23
hjl/pr21666/2.25
hjl/pr21666/master
hjl/pr21752/master
hjl/pr21815/master
hjl/pr21864/master
hjl/pr21913/master
hjl/pr21967/master
hjl/pr22053/master
hjl/pr22298/master
hjl/pr22353/master
hjl/pr22362/master
hjl/pr22363/master
hjl/pr23240/fw
hjl/pthread/2.21
hjl/pthread/2.22
hjl/release/2.20/master
hjl/size/master
hjl/tst-plt
hjl/unaligned
ibm/2.10/master
ibm/2.11/master
ibm/2.12/master
ibm/2.13/master
ibm/2.16/master
ibm/2.18/master
ibm/2.19/master
ibm/2.20/master
ibm/2.22/master
ibm/2.24/master
ibm/2.26/master
ibm/2.28/master
ibm/2.30/master
ibm/2.32/master
ibm/2.8/master
ibm/master
ldmitrie/intel_mpx
linaro/2.21/master
linaro/2.23/master
linaro/master
lxoliva/getaddrinfo
maskray/relr
maskray/stack_chk_guard
maskray/x86-mpx
master
mfabian/collation-update-2.27
neleai/string-x64
neleai/strlen
nsz/bti-1
nsz/btifix-v3
nsz/bug19329
nsz/bug19329-v2
nsz/bug23293
nsz/bug23293-v5
nsz/bug23293-v6
nsz/bug27072
nsz/math
nsz/mathvec
nsz/mtag
nsz/mtag-2
nsz/pacbti-v4
nsz/pacbti-v5
nsz/pacbti-v6
nsz/pacbti-v7
pasky/fixes
pasky/fixes-overdue
rearnsha/mte-v3.0
rearnsha/mte-v4.0
release/2.10/master
release/2.11/master
release/2.12/master
release/2.13/master
release/2.14/master
release/2.15/master
release/2.16/master
release/2.17/master
release/2.18/master
release/2.19/master
release/2.20/master
release/2.21/master
release/2.22/master
release/2.23/master
release/2.24/master
release/2.25/master
release/2.26/master
release/2.27/master
release/2.28/master
release/2.29/master
release/2.30/master
release/2.31/master
release/2.32/master
release/2.33/master
release/2.34/master
release/2.35/master
release/2.36/master
release/2.37/master
release/2.38/master
release/2.39/master
roland/Wshadow
roland/add-on-abi-tags
roland/backtrace-syms
roland/cancelhandling
roland/disable-nis
roland/getpid
roland/gold-vs-libc
roland/hwcap_mask
roland/manual-check
roland/nacl-debug-hack
roland/nacl-exit-stacks
roland/nacl-port/master
roland/nptl_db
roland/pthread_attr_getstack
roland/stat64
roland/sysconf-clocks
roland/tempname
roland/x86_64-crt1-cfi
rsa/2.17_backports
rsa/2.17_backports_v2
rsa/2.17_backports_v3
rsa/hwcap2_v3
rsa/hwcap2_v4
rsa/hwcap2_v5
rsa/hwcap2_v6
rsa/power8
rsa/power8_partial
rsa/stdint
rsa/stdint_headers
rsa/stdint_noheaders
rth/aa-memset
rth/aa-opt
rth/execl
rth/tramp
sasha/execveat
schwab/ilp32
shebs/clangify
siddhesh/changelog-begone
siddhesh/is_in_module
siddhesh/mmap-fallback
siddhesh/posix-wundef
siddhesh/realpath-and-getcwd
siddhesh/sem_timedwait
tuliom/float128
tuliom/libmvec
tuliom/microwatt
tuliom/multilib
users/skpgkp2/2.33/master
vineet/arc-glibc-2.30-time_t-32-bit
zack/anon-unions
zack/build-experiments
zack/build-layout-experiment
zack/elf-builtin-expect-conversion
zack/errno-prettyprint
zack/gtod-no-timezone
zack/no-nested-includes
zack/obsolete-time-functions
zack/remove-libcrypt
zack/wip-check-localplt-2
zack/wip-pthread-no-dupe-defns
changelog-ends-here
cvs/ChangeLog
cvs/amigados-merge
cvs/before-sparc-2_0_x-branch
cvs/before-thomas-posix1996
cvs/bind-493b24
cvs/edition_0_06
cvs/fedora-
cvs/fedora-2_3-base
cvs/fedora-2_5-base
cvs/fedora-base
cvs/fedora-glibc-20040923T0148
cvs/fedora-glibc-20040925T0738
cvs/fedora-glibc-20040926T0823
cvs/fedora-glibc-20040927T0611
cvs/fedora-glibc-20040929T0821
cvs/fedora-glibc-20040930T0838
cvs/fedora-glibc-20041001T1134
cvs/fedora-glibc-20041001T2134
cvs/fedora-glibc-20041004T0747
cvs/fedora-glibc-20041005T0745
cvs/fedora-glibc-20041006T0900
cvs/fedora-glibc-20041012T1128
cvs/fedora-glibc-20041014T0548
cvs/fedora-glibc-20041018T0940
cvs/fedora-glibc-20041018T2320
cvs/fedora-glibc-20041020T1016
cvs/fedora-glibc-20041021T0701
cvs/fedora-glibc-20041102T1153
cvs/fedora-glibc-20041110T0839
cvs/fedora-glibc-20041112T1640
cvs/fedora-glibc-20041115T0915
cvs/fedora-glibc-20041116T0856
cvs/fedora-glibc-20041119T0003
cvs/fedora-glibc-20041120T0949
cvs/fedora-glibc-20041121T1116
cvs/fedora-glibc-20041124T0741
cvs/fedora-glibc-20041126T1318
cvs/fedora-glibc-20041130T0624
cvs/fedora-glibc-20041203T0935
cvs/fedora-glibc-20041207T1331
cvs/fedora-glibc-20041208T1024
cvs/fedora-glibc-20041210T0634
cvs/fedora-glibc-20041213T2323
cvs/fedora-glibc-20041214T1058
cvs/fedora-glibc-20041215T0847
cvs/fedora-glibc-20041215T2056
cvs/fedora-glibc-20041217T0906
cvs/fedora-glibc-20041218T1131
cvs/fedora-glibc-20041218T2312
cvs/fedora-glibc-20041219T2331
cvs/fedora-glibc-20050106T1443
cvs/fedora-glibc-20050106T2203
cvs/fedora-glibc-20050208T0948
cvs/fedora-glibc-20050208T2213
cvs/fedora-glibc-20050211T0853
cvs/fedora-glibc-20050211T1037
cvs/fedora-glibc-20050302T1820
cvs/fedora-glibc-20050303T1335
cvs/fedora-glibc-20050319T1907
cvs/fedora-glibc-20050324T0715
cvs/fedora-glibc-20050401T1444
cvs/fedora-glibc-20050405T2114
cvs/fedora-glibc-20050415T0909
cvs/fedora-glibc-20050427T1043
cvs/fedora-glibc-20050427T1912
cvs/fedora-glibc-20050428T0846
cvs/fedora-glibc-20050503T0852
cvs/fedora-glibc-20050504T0728
cvs/fedora-glibc-20050504T1818
cvs/fedora-glibc-20050520T0919
cvs/fedora-glibc-20050523T1354
cvs/fedora-glibc-20050524T1606
cvs/fedora-glibc-20050620T1522
cvs/fedora-glibc-20050620T1530
cvs/fedora-glibc-20050627T0850
cvs/fedora-glibc-20050708T0811
cvs/fedora-glibc-20050721T0814
cvs/fedora-glibc-20050722T0433
cvs/fedora-glibc-20050725T0627
cvs/fedora-glibc-20050729T1531
cvs/fedora-glibc-20050808T2126
cvs/fedora-glibc-20050822T0727
cvs/fedora-glibc-20050824T0705
cvs/fedora-glibc-20050829T1854
cvs/fedora-glibc-20050912T0656
cvs/fedora-glibc-20051003T2040
cvs/fedora-glibc-20051010T1417
cvs/fedora-glibc-20051020T0651
cvs/fedora-glibc-20051115T0809
cvs/fedora-glibc-20051116T0829
cvs/fedora-glibc-20051119T1959
cvs/fedora-glibc-20051219T1003
cvs/fedora-glibc-20051220T1028
cvs/fedora-glibc-20051220T1751
cvs/fedora-glibc-20051221T0931
cvs/fedora-glibc-20051227T1426
cvs/fedora-glibc-20060102T1045
cvs/fedora-glibc-20060102T2114
cvs/fedora-glibc-20060104T0754
cvs/fedora-glibc-20060106T0916
cvs/fedora-glibc-20060106T2148
cvs/fedora-glibc-20060109T2152
cvs/fedora-glibc-20060130T0922
cvs/fedora-glibc-20060201T0846
cvs/fedora-glibc-20060202T0507
cvs/fedora-glibc-20060203T0932
cvs/fedora-glibc-20060204T0758
cvs/fedora-glibc-20060213T0650
cvs/fedora-glibc-20060217T1609
cvs/fedora-glibc-20060301T0647
cvs/fedora-glibc-20060302T0855
cvs/fedora-glibc-20060306T0720
cvs/fedora-glibc-20060306T1239
cvs/fedora-glibc-20060328T0900
cvs/fedora-glibc-20060424T0820
cvs/fedora-glibc-20060424T2027
cvs/fedora-glibc-20060425T0903
cvs/fedora-glibc-20060426T2000
cvs/fedora-glibc-20060427T2122
cvs/fedora-glibc-20060501T0751
cvs/fedora-glibc-20060505T0554
cvs/fedora-glibc-20060505T1443
cvs/fedora-glibc-20060511T1325
cvs/fedora-glibc-20060519T1550
cvs/fedora-glibc-20060521T2153
cvs/fedora-glibc-20060524T0721
cvs/fedora-glibc-20060531T1322
cvs/fedora-glibc-20060630T0858
cvs/fedora-glibc-20060710T2206
cvs/fedora-glibc-20060729T2255
cvs/fedora-glibc-20060731T0706
cvs/fedora-glibc-20060802T1650
cvs/fedora-glibc-20060802T1808
cvs/fedora-glibc-20060807T1859
cvs/fedora-glibc-20060810T0627
cvs/fedora-glibc-20060815T0533
cvs/fedora-glibc-20060815T2033
cvs/fedora-glibc-20060822T0706
cvs/fedora-glibc-20060825T0639
cvs/fedora-glibc-20060828T1903
cvs/fedora-glibc-20060831T0640
cvs/fedora-glibc-20060831T1812
cvs/fedora-glibc-20060905T0633
cvs/fedora-glibc-20060907T0853
cvs/fedora-glibc-20060910T1832
cvs/fedora-glibc-20060915T0943
cvs/fedora-glibc-20060919T1816
cvs/fedora-glibc-20060919T1847
cvs/fedora-glibc-20060923T0946
cvs/fedora-glibc-20060925T1535
cvs/fedora-glibc-20060929T2037
cvs/fedora-glibc-20061002T1858
cvs/fedora-glibc-20061025T1857
cvs/fedora-glibc-20061027T1902
cvs/fedora-glibc-20061029T2155
cvs/fedora-glibc-20061103T1610
cvs/fedora-glibc-20061109T1949
cvs/fedora-glibc-20061109T2048
cvs/fedora-glibc-20061110T1956
cvs/fedora-glibc-20061110T2049
cvs/fedora-glibc-20061120T1000
cvs/fedora-glibc-20061128T1037
cvs/fedora-glibc-20061130T1652
cvs/fedora-glibc-20061201T0821
cvs/fedora-glibc-20061205T2141
cvs/fedora-glibc-20061210T1006
cvs/fedora-glibc-20061214T0850
cvs/fedora-glibc-20061219T1804
cvs/fedora-glibc-20070117T0857
cvs/fedora-glibc-20070117T1043
cvs/fedora-glibc-20070202T0923
cvs/fedora-glibc-20070211T1607
cvs/fedora-glibc-20070221T1011
cvs/fedora-glibc-20070317T2130
cvs/fedora-glibc-20070331T1609
cvs/fedora-glibc-20070416T2350
cvs/fedora-glibc-20070504T0917
cvs/fedora-glibc-20070510T0634
cvs/fedora-glibc-20070510T2304
cvs/fedora-glibc-20070510T2308
cvs/fedora-glibc-20070515T2025
cvs/fedora-glibc-20070731T1624
cvs/fedora-glibc-20070801T1703
cvs/fedora-glibc-20070804T2027
cvs/fedora-glibc-20070809T0939
cvs/fedora-glibc-20070810T2152
cvs/fedora-glibc-20070814T0643
cvs/fedora-glibc-20070814T0725
cvs/fedora-glibc-20070815T2049
cvs/fedora-glibc-20070816T2121
cvs/fedora-glibc-20070825T1839
cvs/fedora-glibc-20070827T2032
cvs/fedora-glibc-20070918T1931
cvs/fedora-glibc-20070920T0007
cvs/fedora-glibc-20070929T1859
cvs/fedora-glibc-20071003T1908
cvs/fedora-glibc-20071010T2047
cvs/fedora-glibc-20071011T1636
cvs/fedora-glibc-20071014T1847
cvs/fedora-glibc-20071014T2102
cvs/fedora-glibc-20071015T0728
cvs/fedora-glibc-20071017T2007
cvs/fedora-glibc-20071017T2029
cvs/fedora-glibc-20071212T1051
cvs/fedora-glibc-20071212T1953
cvs/fedora-glibc-20071227T0908
cvs/fedora-glibc-20080103T1958
cvs/fedora-glibc-20080111T0737
cvs/fedora-glibc-20080131T0821
cvs/fedora-glibc-20080201T1017
cvs/fedora-glibc-20080216T1726
cvs/fedora-glibc-20080305T0857
cvs/fedora-glibc-20080310T1651
cvs/fedora-glibc-20080314T1732
cvs/fedora-glibc-20080314T2159
cvs/fedora-glibc-20080326T1041
cvs/fedora-glibc-20080328T1347
cvs/fedora-glibc-20080408T0706
cvs/fedora-glibc-20080410T1907
cvs/fedora-glibc-20080411T1934
cvs/fedora-glibc-20080412T0741
cvs/fedora-glibc-20080515T0735
cvs/fedora-glibc-20080516T2152
cvs/fedora-glibc-20080518T1017
cvs/fedora-glibc-20080520T1924
cvs/fedora-glibc-20080524T2218
cvs/fedora-glibc-20080612T1619
cvs/fedora-glibc-20080613T1601
cvs/fedora-glibc-20080703T1203
cvs/fedora-glibc-20080716T0944
cvs/fedora-glibc-20080728T2320
cvs/fedora-glibc-20080802T0809
cvs/fedora-glibc-20080828T1623
cvs/fedora-glibc-20081019T1815
cvs/fedora-glibc-20081028T1533
cvs/fedora-glibc-20081031T2102
cvs/fedora-glibc-20081112T2008
cvs/fedora-glibc-20081113T2206
cvs/fedora-glibc-20090102T0809
cvs/fedora-glibc-20090102T2040
cvs/fedora-glibc-20090102T2110
cvs/fedora-glibc-20090108T0952
cvs/fedora-glibc-20090108T1017
cvs/fedora-glibc-20090204T2135
cvs/fedora-glibc-20090218T1534
cvs/fedora-glibc-20090309T1421
cvs/fedora-glibc-20090310T1925
cvs/fedora-glibc-20090320T1944
cvs/fedora-glibc-20090401T0935
cvs/fedora-glibc-20090407T0545
cvs/fedora-glibc-20090407T0657
cvs/fedora-glibc-20090408T1602
cvs/fedora-glibc-20090409T1422
cvs/fedora-glibc-20090414T2104
cvs/fedora-glibc-20090415T1619
cvs/fedora-glibc-20090416T0610
cvs/fedora-glibc-20090416T1610
cvs/fedora-glibc-20090424T0747
cvs/fedora-glibc-20090424T1908
cvs/fedora-glibc-20090427T1419
cvs/fedora-glibc-20090509T1828
cvs/fedora-glibc-20090509T2200
cvs/fedora-glibc-20090510T1842
cvs/fedora-glibc-2_10-1
cvs/fedora-glibc-2_10-2
cvs/fedora-glibc-2_10_1-1
cvs/fedora-glibc-2_3-20050216T1256
cvs/fedora-glibc-2_3-20050218T0151
cvs/fedora-glibc-2_3-20050226T0141
cvs/fedora-glibc-2_3-20050406T0312
cvs/fedora-glibc-2_3-20050406T0344
cvs/fedora-glibc-2_3-20050704T1133
cvs/fedora-glibc-2_3-20050718T0425
cvs/fedora-glibc-2_3-20050718T0804
cvs/fedora-glibc-2_3-20050729T2336
cvs/fedora-glibc-2_3-20051017T0259
cvs/fedora-glibc-2_3-20051017T0518
cvs/fedora-glibc-2_3-20051023T0123
cvs/fedora-glibc-2_3_3-55
cvs/fedora-glibc-2_3_3-56
cvs/fedora-glibc-2_3_3-57
cvs/fedora-glibc-2_3_3-58
cvs/fedora-glibc-2_3_3-59
cvs/fedora-glibc-2_3_3-60
cvs/fedora-glibc-2_3_3-61
cvs/fedora-glibc-2_3_3-62
cvs/fedora-glibc-2_3_3-63
cvs/fedora-glibc-2_3_3-64
cvs/fedora-glibc-2_3_3-65
cvs/fedora-glibc-2_3_3-66
cvs/fedora-glibc-2_3_3-67
cvs/fedora-glibc-2_3_3-68
cvs/fedora-glibc-2_3_3-69
cvs/fedora-glibc-2_3_3-70
cvs/fedora-glibc-2_3_3-71
cvs/fedora-glibc-2_3_3-72
cvs/fedora-glibc-2_3_3-73
cvs/fedora-glibc-2_3_3-74
cvs/fedora-glibc-2_3_3-75
cvs/fedora-glibc-2_3_3-76
cvs/fedora-glibc-2_3_3-77
cvs/fedora-glibc-2_3_3-78
cvs/fedora-glibc-2_3_3-79
cvs/fedora-glibc-2_3_3-80
cvs/fedora-glibc-2_3_3-81
cvs/fedora-glibc-2_3_3-82
cvs/fedora-glibc-2_3_3-83
cvs/fedora-glibc-2_3_3-84
cvs/fedora-glibc-2_3_3-85
cvs/fedora-glibc-2_3_3-86
cvs/fedora-glibc-2_3_3-87
cvs/fedora-glibc-2_3_3-88
cvs/fedora-glibc-2_3_3-89
cvs/fedora-glibc-2_3_3-90
cvs/fedora-glibc-2_3_3-91
cvs/fedora-glibc-2_3_3-92
cvs/fedora-glibc-2_3_3-93
cvs/fedora-glibc-2_3_3-95
cvs/fedora-glibc-2_3_3-96
cvs/fedora-glibc-2_3_3-97
cvs/fedora-glibc-2_3_3-98
cvs/fedora-glibc-2_3_3-99
cvs/fedora-glibc-2_3_4-1
cvs/fedora-glibc-2_3_4-10
cvs/fedora-glibc-2_3_4-11
cvs/fedora-glibc-2_3_4-12
cvs/fedora-glibc-2_3_4-13
cvs/fedora-glibc-2_3_4-14
cvs/fedora-glibc-2_3_4-15
cvs/fedora-glibc-2_3_4-16
cvs/fedora-glibc-2_3_4-17
cvs/fedora-glibc-2_3_4-18
cvs/fedora-glibc-2_3_4-19
cvs/fedora-glibc-2_3_4-2
cvs/fedora-glibc-2_3_4-20
cvs/fedora-glibc-2_3_4-21
cvs/fedora-glibc-2_3_4-2_5_fc3
cvs/fedora-glibc-2_3_4-2_fc3_1
cvs/fedora-glibc-2_3_4-2_fc3_2
cvs/fedora-glibc-2_3_4-2_fc3_3
cvs/fedora-glibc-2_3_4-2_fc3_4
cvs/fedora-glibc-2_3_4-2_fc3_5
cvs/fedora-glibc-2_3_4-3
cvs/fedora-glibc-2_3_4-4
cvs/fedora-glibc-2_3_4-5
cvs/fedora-glibc-2_3_4-6
cvs/fedora-glibc-2_3_4-7
cvs/fedora-glibc-2_3_4-8
cvs/fedora-glibc-2_3_4-9
cvs/fedora-glibc-2_3_5-0_fc3_1
cvs/fedora-glibc-2_3_5-0_fc3_2
cvs/fedora-glibc-2_3_5-0_fc3_4
cvs/fedora-glibc-2_3_5-0_fc3_5
cvs/fedora-glibc-2_3_5-0_fc3_6
cvs/fedora-glibc-2_3_5-0_fc3_7
cvs/fedora-glibc-2_3_5-0_fc3_8
cvs/fedora-glibc-2_3_5-1
cvs/fedora-glibc-2_3_5-10
cvs/fedora-glibc-2_3_5-11
cvs/fedora-glibc-2_3_5-2
cvs/fedora-glibc-2_3_5-3
cvs/fedora-glibc-2_3_5-4
cvs/fedora-glibc-2_3_5-5
cvs/fedora-glibc-2_3_5-6
cvs/fedora-glibc-2_3_5-7
cvs/fedora-glibc-2_3_5-8
cvs/fedora-glibc-2_3_5-9
cvs/fedora-glibc-2_3_6-0_fc3_1
cvs/fedora-glibc-2_3_90-1
cvs/fedora-glibc-2_3_90-10
cvs/fedora-glibc-2_3_90-11
cvs/fedora-glibc-2_3_90-12
cvs/fedora-glibc-2_3_90-13
cvs/fedora-glibc-2_3_90-14
cvs/fedora-glibc-2_3_90-15
cvs/fedora-glibc-2_3_90-16
cvs/fedora-glibc-2_3_90-17
cvs/fedora-glibc-2_3_90-18
cvs/fedora-glibc-2_3_90-19
cvs/fedora-glibc-2_3_90-2
cvs/fedora-glibc-2_3_90-20
cvs/fedora-glibc-2_3_90-21
cvs/fedora-glibc-2_3_90-22
cvs/fedora-glibc-2_3_90-23
cvs/fedora-glibc-2_3_90-24
cvs/fedora-glibc-2_3_90-25
cvs/fedora-glibc-2_3_90-26
cvs/fedora-glibc-2_3_90-28
cvs/fedora-glibc-2_3_90-29
cvs/fedora-glibc-2_3_90-3
cvs/fedora-glibc-2_3_90-30
cvs/fedora-glibc-2_3_90-31
cvs/fedora-glibc-2_3_90-32
cvs/fedora-glibc-2_3_90-33
cvs/fedora-glibc-2_3_90-35
cvs/fedora-glibc-2_3_90-36
cvs/fedora-glibc-2_3_90-37
cvs/fedora-glibc-2_3_90-38
cvs/fedora-glibc-2_3_90-39
cvs/fedora-glibc-2_3_90-4
cvs/fedora-glibc-2_3_90-5
cvs/fedora-glibc-2_3_90-6
cvs/fedora-glibc-2_3_90-7
cvs/fedora-glibc-2_3_90-8
cvs/fedora-glibc-2_3_90-9
cvs/fedora-glibc-2_3_91-1
cvs/fedora-glibc-2_3_91-2
cvs/fedora-glibc-2_4-1
cvs/fedora-glibc-2_4-2
cvs/fedora-glibc-2_4-3
cvs/fedora-glibc-2_4-5
cvs/fedora-glibc-2_4-6
cvs/fedora-glibc-2_4_90-1
cvs/fedora-glibc-2_4_90-10
cvs/fedora-glibc-2_4_90-11
cvs/fedora-glibc-2_4_90-12
cvs/fedora-glibc-2_4_90-13
cvs/fedora-glibc-2_4_90-14
cvs/fedora-glibc-2_4_90-15
cvs/fedora-glibc-2_4_90-16
cvs/fedora-glibc-2_4_90-17
cvs/fedora-glibc-2_4_90-18
cvs/fedora-glibc-2_4_90-19
cvs/fedora-glibc-2_4_90-2
cvs/fedora-glibc-2_4_90-20
cvs/fedora-glibc-2_4_90-21
cvs/fedora-glibc-2_4_90-23
cvs/fedora-glibc-2_4_90-24
cvs/fedora-glibc-2_4_90-26
cvs/fedora-glibc-2_4_90-27
cvs/fedora-glibc-2_4_90-28
cvs/fedora-glibc-2_4_90-29
cvs/fedora-glibc-2_4_90-3
cvs/fedora-glibc-2_4_90-30
cvs/fedora-glibc-2_4_90-31
cvs/fedora-glibc-2_4_90-32
cvs/fedora-glibc-2_4_90-33
cvs/fedora-glibc-2_4_90-34
cvs/fedora-glibc-2_4_90-35
cvs/fedora-glibc-2_4_90-4
cvs/fedora-glibc-2_4_90-5
cvs/fedora-glibc-2_4_90-6
cvs/fedora-glibc-2_4_90-7
cvs/fedora-glibc-2_4_90-8
cvs/fedora-glibc-2_4_90-9
cvs/fedora-glibc-2_5-1
cvs/fedora-glibc-2_5-18_1
cvs/fedora-glibc-2_5-2
cvs/fedora-glibc-2_5-20061008T1253
cvs/fedora-glibc-2_5-20061008T1257
cvs/fedora-glibc-2_5-20070712T1701
cvs/fedora-glibc-2_5-3
cvs/fedora-glibc-2_5_90-1
cvs/fedora-glibc-2_5_90-10
cvs/fedora-glibc-2_5_90-11
cvs/fedora-glibc-2_5_90-12
cvs/fedora-glibc-2_5_90-13
cvs/fedora-glibc-2_5_90-14
cvs/fedora-glibc-2_5_90-15
cvs/fedora-glibc-2_5_90-16
cvs/fedora-glibc-2_5_90-17
cvs/fedora-glibc-2_5_90-18
cvs/fedora-glibc-2_5_90-19
cvs/fedora-glibc-2_5_90-2
cvs/fedora-glibc-2_5_90-20
cvs/fedora-glibc-2_5_90-21
cvs/fedora-glibc-2_5_90-22
cvs/fedora-glibc-2_5_90-23
cvs/fedora-glibc-2_5_90-24
cvs/fedora-glibc-2_5_90-3
cvs/fedora-glibc-2_5_90-4
cvs/fedora-glibc-2_5_90-5
cvs/fedora-glibc-2_5_90-6
cvs/fedora-glibc-2_5_90-7
cvs/fedora-glibc-2_5_90-8
cvs/fedora-glibc-2_5_90-9
cvs/fedora-glibc-2_6-1
cvs/fedora-glibc-2_6-2
cvs/fedora-glibc-2_6-3
cvs/fedora-glibc-2_6-4
cvs/fedora-glibc-2_6_90-1
cvs/fedora-glibc-2_6_90-10
cvs/fedora-glibc-2_6_90-11
cvs/fedora-glibc-2_6_90-12
cvs/fedora-glibc-2_6_90-13
cvs/fedora-glibc-2_6_90-14
cvs/fedora-glibc-2_6_90-15
cvs/fedora-glibc-2_6_90-16
cvs/fedora-glibc-2_6_90-17
cvs/fedora-glibc-2_6_90-18
cvs/fedora-glibc-2_6_90-19
cvs/fedora-glibc-2_6_90-2
cvs/fedora-glibc-2_6_90-20
cvs/fedora-glibc-2_6_90-21
cvs/fedora-glibc-2_6_90-3
cvs/fedora-glibc-2_6_90-5
cvs/fedora-glibc-2_6_90-7
cvs/fedora-glibc-2_6_90-9
cvs/fedora-glibc-2_7-1
cvs/fedora-glibc-2_7_90-1
cvs/fedora-glibc-2_7_90-10
cvs/fedora-glibc-2_7_90-11
cvs/fedora-glibc-2_7_90-12
cvs/fedora-glibc-2_7_90-13
cvs/fedora-glibc-2_7_90-14
cvs/fedora-glibc-2_7_90-15
cvs/fedora-glibc-2_7_90-16
cvs/fedora-glibc-2_7_90-2
cvs/fedora-glibc-2_7_90-3
cvs/fedora-glibc-2_7_90-4
cvs/fedora-glibc-2_7_90-5
cvs/fedora-glibc-2_7_90-6
cvs/fedora-glibc-2_7_90-7
cvs/fedora-glibc-2_7_90-8
cvs/fedora-glibc-2_8-1
cvs/fedora-glibc-2_8-2
cvs/fedora-glibc-2_8_90-1
cvs/fedora-glibc-2_8_90-10
cvs/fedora-glibc-2_8_90-11
cvs/fedora-glibc-2_8_90-12
cvs/fedora-glibc-2_8_90-14
cvs/fedora-glibc-2_8_90-15
cvs/fedora-glibc-2_8_90-16
cvs/fedora-glibc-2_8_90-17
cvs/fedora-glibc-2_8_90-2
cvs/fedora-glibc-2_8_90-3
cvs/fedora-glibc-2_8_90-4
cvs/fedora-glibc-2_8_90-5
cvs/fedora-glibc-2_8_90-6
cvs/fedora-glibc-2_8_90-7
cvs/fedora-glibc-2_8_90-8
cvs/fedora-glibc-2_8_90-9
cvs/fedora-glibc-2_9-1
cvs/fedora-glibc-2_9_90-1
cvs/fedora-glibc-2_9_90-10
cvs/fedora-glibc-2_9_90-11
cvs/fedora-glibc-2_9_90-12
cvs/fedora-glibc-2_9_90-13
cvs/fedora-glibc-2_9_90-14
cvs/fedora-glibc-2_9_90-15
cvs/fedora-glibc-2_9_90-16
cvs/fedora-glibc-2_9_90-17
cvs/fedora-glibc-2_9_90-18
cvs/fedora-glibc-2_9_90-19
cvs/fedora-glibc-2_9_90-2
cvs/fedora-glibc-2_9_90-20
cvs/fedora-glibc-2_9_90-21
cvs/fedora-glibc-2_9_90-22
cvs/fedora-glibc-2_9_90-3
cvs/fedora-glibc-2_9_90-4
cvs/fedora-glibc-2_9_90-9
cvs/glibc-1-93
cvs/glibc-2-2-5
cvs/glibc-2-3
cvs/glibc-2-3-1
cvs/glibc-2_0_100
cvs/glibc-2_0_101
cvs/glibc-2_0_106
cvs/glibc-2_0_112
cvs/glibc-2_0_2
cvs/glibc-2_0_4
cvs/glibc-2_0_5
cvs/glibc-2_0_5b
cvs/glibc-2_0_5pre1
cvs/glibc-2_0_5pre2
cvs/glibc-2_0_5pre5
cvs/glibc-2_0_6
cvs/glibc-2_0_6-pre2
cvs/glibc-2_0_6pre3
cvs/glibc-2_0_6pre4
cvs/glibc-2_0_6pre5
cvs/glibc-2_0_6pre6
cvs/glibc-2_0_92
cvs/glibc-2_0_95
cvs/glibc-2_0_96
cvs/glibc-2_0_97
cvs/glibc-2_0_98
cvs/glibc-2_0_99
cvs/glibc-2_1
cvs/glibc-2_10
cvs/glibc-2_10-base
cvs/glibc-2_10_1
cvs/glibc-2_1_1
cvs/glibc-2_1_93
cvs/glibc-2_1_96
cvs/glibc-2_1_97
cvs/glibc-2_2
cvs/glibc-2_2_1
cvs/glibc-2_2_2
cvs/glibc-2_2_3
cvs/glibc-2_2_4
cvs/glibc-2_3-base
cvs/glibc-2_3_2
cvs/glibc-2_3_3
cvs/glibc-2_3_4
cvs/glibc-2_3_5
cvs/glibc-2_3_6
cvs/glibc-2_4
cvs/glibc-2_5
cvs/glibc-2_5-base
cvs/glibc-2_5_1
cvs/glibc-2_6
cvs/glibc-2_6-base
cvs/glibc-2_6_1
cvs/glibc-2_7
cvs/glibc-2_7-base
cvs/glibc-2_8
cvs/glibc-2_8-base
cvs/glibc-2_9
cvs/glibc-2_9-base
cvs/glibc-4-egcs-1_1
cvs/glibc_2-1-2
cvs/glibc_2-1-91
cvs/glibc_2-1-92
cvs/initial
cvs/jems-14oct94
cvs/libc-1-90
cvs/libc-1-91
cvs/libc-1-92
cvs/libc-1-93
cvs/libc-2_0_103
cvs/libc-2_0_4
cvs/libc-2_1_94
cvs/libc-2_1_95
cvs/libc-950402
cvs/libc-950411
cvs/libc-950722
cvs/libc-950723
cvs/libc-950922
cvs/libc-951016
cvs/libc-951018
cvs/libc-951029
cvs/libc-951031
cvs/libc-951101
cvs/libc-951102
cvs/libc-951103
cvs/libc-951104
cvs/libc-951105
cvs/libc-951106
cvs/libc-951107
cvs/libc-951108
cvs/libc-951109
cvs/libc-951110
cvs/libc-951111
cvs/libc-951112
cvs/libc-951113
cvs/libc-951114
cvs/libc-951115
cvs/libc-951116
cvs/libc-951117
cvs/libc-951118
cvs/libc-951119
cvs/libc-951120
cvs/libc-951121
cvs/libc-951122
cvs/libc-951123
cvs/libc-951124
cvs/libc-951125
cvs/libc-951126
cvs/libc-951127
cvs/libc-951128
cvs/libc-951129
cvs/libc-951130
cvs/libc-951201
cvs/libc-951202
cvs/libc-951203
cvs/libc-951204
cvs/libc-951206
cvs/libc-951208
cvs/libc-951209
cvs/libc-951210
cvs/libc-951211
cvs/libc-951212
cvs/libc-951213
cvs/libc-951214
cvs/libc-951215
cvs/libc-951216
cvs/libc-951217
cvs/libc-951218
cvs/libc-951219
cvs/libc-951220
cvs/libc-951221
cvs/libc-951222
cvs/libc-951223
cvs/libc-951224
cvs/libc-951225
cvs/libc-951226
cvs/libc-951227
cvs/libc-951228
cvs/libc-951229
cvs/libc-951230
cvs/libc-951231
cvs/libc-960101
cvs/libc-960102
cvs/libc-960103
cvs/libc-960104
cvs/libc-960105
cvs/libc-960106
cvs/libc-960107
cvs/libc-960108
cvs/libc-960109
cvs/libc-960110
cvs/libc-960111
cvs/libc-960112
cvs/libc-960113
cvs/libc-960114
cvs/libc-960115
cvs/libc-960116
cvs/libc-960117
cvs/libc-960118
cvs/libc-960119
cvs/libc-960120
cvs/libc-960121
cvs/libc-960122
cvs/libc-960123
cvs/libc-960124
cvs/libc-960125
cvs/libc-960126
cvs/libc-960127
cvs/libc-960128
cvs/libc-960129
cvs/libc-960130
cvs/libc-960131
cvs/libc-960201
cvs/libc-960202
cvs/libc-960203
cvs/libc-960204
cvs/libc-960205
cvs/libc-960206
cvs/libc-960207
cvs/libc-960208
cvs/libc-960209
cvs/libc-960210
cvs/libc-960211
cvs/libc-960212
cvs/libc-960213
cvs/libc-960214
cvs/libc-960215
cvs/libc-960216
cvs/libc-960217
cvs/libc-960218
cvs/libc-960219
cvs/libc-960220
cvs/libc-960221
cvs/libc-960222
cvs/libc-960223
cvs/libc-960224
cvs/libc-960225
cvs/libc-960226
cvs/libc-960227
cvs/libc-960228
cvs/libc-960229
cvs/libc-960302
cvs/libc-960303
cvs/libc-960304
cvs/libc-960305
cvs/libc-960306
cvs/libc-960307
cvs/libc-960308
cvs/libc-960309
cvs/libc-960310
cvs/libc-960311
cvs/libc-960312
cvs/libc-960313
cvs/libc-960314
cvs/libc-960315
cvs/libc-960316
cvs/libc-960317
cvs/libc-960318
cvs/libc-960319
cvs/libc-960320
cvs/libc-960321
cvs/libc-960322
cvs/libc-960323
cvs/libc-960324
cvs/libc-960325
cvs/libc-960326
cvs/libc-960327
cvs/libc-960328
cvs/libc-960329
cvs/libc-960330
cvs/libc-960331
cvs/libc-960401
cvs/libc-960402
cvs/libc-960403
cvs/libc-960404
cvs/libc-960405
cvs/libc-960406
cvs/libc-960407
cvs/libc-960408
cvs/libc-960409
cvs/libc-960410
cvs/libc-960411
cvs/libc-960412
cvs/libc-960413
cvs/libc-960414
cvs/libc-960415
cvs/libc-960416
cvs/libc-960417
cvs/libc-960418
cvs/libc-960419
cvs/libc-960420
cvs/libc-960421
cvs/libc-960422
cvs/libc-960423
cvs/libc-960424
cvs/libc-960425
cvs/libc-960426
cvs/libc-960427
cvs/libc-960428
cvs/libc-960429
cvs/libc-960430
cvs/libc-960501
cvs/libc-960502
cvs/libc-960503
cvs/libc-960504
cvs/libc-960505
cvs/libc-960506
cvs/libc-960507
cvs/libc-960508
cvs/libc-960509
cvs/libc-960510
cvs/libc-960511
cvs/libc-960512
cvs/libc-960513
cvs/libc-960514
cvs/libc-960515
cvs/libc-960516
cvs/libc-960517
cvs/libc-960518
cvs/libc-960519
cvs/libc-960520
cvs/libc-960521
cvs/libc-960522
cvs/libc-960523
cvs/libc-960524
cvs/libc-960525
cvs/libc-960526
cvs/libc-960527
cvs/libc-960528
cvs/libc-960529
cvs/libc-960530
cvs/libc-960531
cvs/libc-960601
cvs/libc-960602
cvs/libc-960603
cvs/libc-960604
cvs/libc-960605
cvs/libc-960606
cvs/libc-960607
cvs/libc-960608
cvs/libc-960609
cvs/libc-960610
cvs/libc-960611
cvs/libc-960612
cvs/libc-960613
cvs/libc-960614
cvs/libc-960615
cvs/libc-960616
cvs/libc-960617
cvs/libc-960618
cvs/libc-960619
cvs/libc-960620
cvs/libc-960621
cvs/libc-960622
cvs/libc-960623
cvs/libc-960624
cvs/libc-960625
cvs/libc-960626
cvs/libc-960627
cvs/libc-960628
cvs/libc-960629
cvs/libc-960630
cvs/libc-960701
cvs/libc-960702
cvs/libc-960703
cvs/libc-960704
cvs/libc-960705
cvs/libc-960706
cvs/libc-960707
cvs/libc-960708
cvs/libc-960709
cvs/libc-960710
cvs/libc-960711
cvs/libc-960712
cvs/libc-960713
cvs/libc-960714
cvs/libc-960715
cvs/libc-960716
cvs/libc-960717
cvs/libc-960718
cvs/libc-960719
cvs/libc-960720
cvs/libc-960721
cvs/libc-960722
cvs/libc-960723
cvs/libc-960724
cvs/libc-960725
cvs/libc-960726
cvs/libc-960727
cvs/libc-960728
cvs/libc-960729
cvs/libc-960730
cvs/libc-960731
cvs/libc-960801
cvs/libc-960802
cvs/libc-960803
cvs/libc-960804
cvs/libc-960805
cvs/libc-960806
cvs/libc-960807
cvs/libc-960808
cvs/libc-960809
cvs/libc-960810
cvs/libc-960811
cvs/libc-960812
cvs/libc-960813
cvs/libc-960814
cvs/libc-960815
cvs/libc-960816
cvs/libc-960817
cvs/libc-960818
cvs/libc-960819
cvs/libc-960820
cvs/libc-960821
cvs/libc-960822
cvs/libc-960823
cvs/libc-960824
cvs/libc-960825
cvs/libc-960826
cvs/libc-960827
cvs/libc-960828
cvs/libc-960829
cvs/libc-960830
cvs/libc-960831
cvs/libc-960901
cvs/libc-960902
cvs/libc-960903
cvs/libc-960904
cvs/libc-960905
cvs/libc-960906
cvs/libc-960907
cvs/libc-960908
cvs/libc-960909
cvs/libc-960910
cvs/libc-960911
cvs/libc-960912
cvs/libc-960913
cvs/libc-960918
cvs/libc-960919
cvs/libc-960920
cvs/libc-960921
cvs/libc-960922
cvs/libc-960923
cvs/libc-960924
cvs/libc-960925
cvs/libc-960926
cvs/libc-960927
cvs/libc-960928
cvs/libc-960929
cvs/libc-961001
cvs/libc-961004
cvs/libc-961005
cvs/libc-961006
cvs/libc-961007
cvs/libc-961008
cvs/libc-961009
cvs/libc-961010
cvs/libc-961011
cvs/libc-961012
cvs/libc-961013
cvs/libc-961014
cvs/libc-961015
cvs/libc-961016
cvs/libc-961017
cvs/libc-961018
cvs/libc-961019
cvs/libc-961020
cvs/libc-961021
cvs/libc-961022
cvs/libc-961023
cvs/libc-961024
cvs/libc-961025
cvs/libc-961026
cvs/libc-961027
cvs/libc-961028
cvs/libc-961029
cvs/libc-961030
cvs/libc-961031
cvs/libc-961101
cvs/libc-961102
cvs/libc-961103
cvs/libc-961104
cvs/libc-961105
cvs/libc-961106
cvs/libc-961107
cvs/libc-961108
cvs/libc-961109
cvs/libc-961110
cvs/libc-961111
cvs/libc-961114
cvs/libc-961115
cvs/libc-961116
cvs/libc-961117
cvs/libc-961118
cvs/libc-961119
cvs/libc-961120
cvs/libc-961121
cvs/libc-961122
cvs/libc-961123
cvs/libc-961124
cvs/libc-961125
cvs/libc-961126
cvs/libc-961127
cvs/libc-961128
cvs/libc-961129
cvs/libc-961130
cvs/libc-961201
cvs/libc-961202
cvs/libc-961203
cvs/libc-961204
cvs/libc-961205
cvs/libc-961206
cvs/libc-961207
cvs/libc-961208
cvs/libc-961209
cvs/libc-961210
cvs/libc-961211
cvs/libc-961212
cvs/libc-961213
cvs/libc-961214
cvs/libc-961215
cvs/libc-961216
cvs/libc-961217
cvs/libc-961218
cvs/libc-961219
cvs/libc-961220
cvs/libc-961221
cvs/libc-961222
cvs/libc-961223
cvs/libc-961224
cvs/libc-961225
cvs/libc-961226
cvs/libc-961227
cvs/libc-961228
cvs/libc-961229
cvs/libc-961230
cvs/libc-961231
cvs/libc-970101
cvs/libc-970102
cvs/libc-970103
cvs/libc-970104
cvs/libc-970105
cvs/libc-970106
cvs/libc-970107
cvs/libc-970108
cvs/libc-970109
cvs/libc-970110
cvs/libc-970111
cvs/libc-970112
cvs/libc-970113
cvs/libc-970114
cvs/libc-970115
cvs/libc-970116
cvs/libc-970117
cvs/libc-970118
cvs/libc-970119
cvs/libc-970120
cvs/libc-970121
cvs/libc-970122
cvs/libc-970123
cvs/libc-970124
cvs/libc-970125
cvs/libc-970126
cvs/libc-970127
cvs/libc-970128
cvs/libc-970129
cvs/libc-970130
cvs/libc-970131
cvs/libc-970201
cvs/libc-970202
cvs/libc-970203
cvs/libc-970204
cvs/libc-970205
cvs/libc-970206
cvs/libc-970207
cvs/libc-970208
cvs/libc-970209
cvs/libc-970210
cvs/libc-970211
cvs/libc-970212
cvs/libc-970213
cvs/libc-970214
cvs/libc-970215
cvs/libc-970216
cvs/libc-970217
cvs/libc-970218
cvs/libc-970219
cvs/libc-970220
cvs/libc-970221
cvs/libc-970222
cvs/libc-970223
cvs/libc-970224
cvs/libc-970225
cvs/libc-970226
cvs/libc-970227
cvs/libc-970228
cvs/libc-970301
cvs/libc-970302
cvs/libc-970303
cvs/libc-970304
cvs/libc-970305
cvs/libc-970306
cvs/libc-970307
cvs/libc-970308
cvs/libc-970309
cvs/libc-970310
cvs/libc-970311
cvs/libc-970312
cvs/libc-970313
cvs/libc-970314
cvs/libc-970315
cvs/libc-970316
cvs/libc-970317
cvs/libc-970318
cvs/libc-970319
cvs/libc-970320
cvs/libc-970321
cvs/libc-970322
cvs/libc-970323
cvs/libc-970324
cvs/libc-970325
cvs/libc-970326
cvs/libc-970327
cvs/libc-970328
cvs/libc-970329
cvs/libc-970330
cvs/libc-970331
cvs/libc-970401
cvs/libc-970402
cvs/libc-970403
cvs/libc-970404
cvs/libc-970405
cvs/libc-970406
cvs/libc-970407
cvs/libc-970408
cvs/libc-970409
cvs/libc-970410
cvs/libc-970411
cvs/libc-970412
cvs/libc-970413
cvs/libc-970414
cvs/libc-970415
cvs/libc-970416
cvs/libc-970417
cvs/libc-970418
cvs/libc-970419
cvs/libc-970420
cvs/libc-970421
cvs/libc-970422
cvs/libc-970423
cvs/libc-970424
cvs/libc-970425
cvs/libc-970426
cvs/libc-970427
cvs/libc-970428
cvs/libc-970429
cvs/libc-970430
cvs/libc-970501
cvs/libc-970502
cvs/libc-970503
cvs/libc-970504
cvs/libc-970505
cvs/libc-970506
cvs/libc-970507
cvs/libc-970508
cvs/libc-970509
cvs/libc-970510
cvs/libc-970511
cvs/libc-970512
cvs/libc-970513
cvs/libc-970514
cvs/libc-970515
cvs/libc-970516
cvs/libc-970517
cvs/libc-970518
cvs/libc-970519
cvs/libc-970520
cvs/libc-970521
cvs/libc-970522
cvs/libc-970523
cvs/libc-970524
cvs/libc-970525
cvs/libc-970526
cvs/libc-970527
cvs/libc-970528
cvs/libc-970529
cvs/libc-970530
cvs/libc-970531
cvs/libc-970601
cvs/libc-970602
cvs/libc-970603
cvs/libc-970604
cvs/libc-970605
cvs/libc-970606
cvs/libc-970607
cvs/libc-970608
cvs/libc-970609
cvs/libc-970610
cvs/libc-970611
cvs/libc-970612
cvs/libc-970613
cvs/libc-970614
cvs/libc-970615
cvs/libc-970616
cvs/libc-970617
cvs/libc-970618
cvs/libc-970619
cvs/libc-970620
cvs/libc-970621
cvs/libc-970622
cvs/libc-970624
cvs/libc-970625
cvs/libc-970626
cvs/libc-970627
cvs/libc-970628
cvs/libc-970629
cvs/libc-970630
cvs/libc-970701
cvs/libc-970702
cvs/libc-970703
cvs/libc-970704
cvs/libc-970705
cvs/libc-970707
cvs/libc-970708
cvs/libc-970709
cvs/libc-970710
cvs/libc-970713
cvs/libc-970715
cvs/libc-970717
cvs/libc-970718
cvs/libc-970719
cvs/libc-970720
cvs/libc-970721
cvs/libc-970722
cvs/libc-970723
cvs/libc-970724
cvs/libc-970725
cvs/libc-970726
cvs/libc-970727
cvs/libc-970728
cvs/libc-970729
cvs/libc-970730
cvs/libc-970731
cvs/libc-970801
cvs/libc-970802
cvs/libc-970829
cvs/libc-970904
cvs/libc-970911
cvs/libc-970912
cvs/libc-970915
cvs/libc-970916
cvs/libc-970920
cvs/libc-970924
cvs/libc-970926
cvs/libc-970930
cvs/libc-971011
cvs/libc-971012
cvs/libc-971026
cvs/libc-971029
cvs/libc-971031
cvs/libc-971103
cvs/libc-971105
cvs/libc-971106
cvs/libc-971111
cvs/libc-971112
cvs/libc-971117
cvs/libc-971118
cvs/libc-971122
cvs/libc-971123
cvs/libc-971124
cvs/libc-971125
cvs/libc-971201
cvs/libc-971203
cvs/libc-971204
cvs/libc-971205
cvs/libc-971207
cvs/libc-971208
cvs/libc-971214
cvs/libc-971222
cvs/libc-971228
cvs/libc-980218
cvs/libc-980226
cvs/libc-as-981124
cvs/libc-as-990315
cvs/libc-as-990319
cvs/libc-as-990322
cvs/libc-as-990324
cvs/libc-as-990326
cvs/libc-ud-2_0_94
cvs/libc-ud-960805
cvs/libc-ud-960807
cvs/libc-ud-960808
cvs/libc-ud-960809
cvs/libc-ud-960810
cvs/libc-ud-960811
cvs/libc-ud-960811-2
cvs/libc-ud-960813
cvs/libc-ud-960815
cvs/libc-ud-960818-early
cvs/libc-ud-960825
cvs/libc-ud-960826
cvs/libc-ud-960827
cvs/libc-ud-960829
cvs/libc-ud-970307
cvs/libc-ud-970308
cvs/libc-ud-970316
cvs/libc-ud-970316-2
cvs/libc-ud-970318
cvs/libc-ud-970319
cvs/libc-ud-970322
cvs/libc-ud-970324
cvs/libc-ud-970324-2
cvs/libc-ud-970326
cvs/libc-ud-970329
cvs/libc-ud-970331
cvs/libc-ud-970403
cvs/libc-ud-970404
cvs/libc-ud-970408
cvs/libc-ud-970412
cvs/libc-ud-970414
cvs/libc-ud-970417
cvs/libc-ud-970421
cvs/libc-ud-970430
cvs/libc-ud-970507
cvs/libc-ud-970511
cvs/libc-ud-970520
cvs/libc-ud-970521
cvs/libc-ud-970523
cvs/libc-ud-970524
cvs/libc-ud-970526
cvs/libc-ud-970529
cvs/libc-ud-970530
cvs/libc-ud-970539
cvs/libc-ud-970603
cvs/libc-ud-970604
cvs/libc-ud-970604f
cvs/libc-ud-970612
cvs/libc-ud-970613
cvs/libc-ud-970614
cvs/libc-ud-970615
cvs/libc-ud-970619
cvs/libc-ud-970620
cvs/libc-ud-970621
cvs/libc-ud-970623
cvs/libc-ud-970625
cvs/libc-ud-970626
cvs/libc-ud-970627
cvs/libc-ud-970629
cvs/libc-ud-970706
cvs/libc-ud-970707
cvs/libc-ud-970710
cvs/libc-ud-970712
cvs/libc-ud-970714
cvs/libc-ud-970719
cvs/libc-ud-970721
cvs/libc-ud-970723
cvs/libc-ud-970725
cvs/libc-ud-970729
cvs/libc-ud-970802
cvs/libc-ud-970804
cvs/libc-ud-970810
cvs/libc-ud-970813
cvs/libc-ud-970816
cvs/libc-ud-970819
cvs/libc-ud-970824
cvs/libc-ud-970827
cvs/libc-ud-970828
cvs/libc-ud-970829
cvs/libc-ud-970904
cvs/libc-ud-970911
cvs/libc-ud-970915
cvs/libc-ud-970916
cvs/libc-ud-970920
cvs/libc-ud-970924
cvs/libc-ud-970926
cvs/libc-ud-970930
cvs/libc-ud-971011
cvs/libc-ud-971012
cvs/libc-ud-971014
cvs/libc-ud-971026
cvs/libc-ud-971029
cvs/libc-ud-971031
cvs/libc-ud-971103
cvs/libc-ud-971105
cvs/libc-ud-971111
cvs/libc-ud-971112
cvs/libc-ud-971117
cvs/libc-ud-971118
cvs/libc-ud-971122
cvs/libc-ud-971123
cvs/libc-ud-971125
cvs/libc-ud-971201
cvs/libc-ud-971204
cvs/libc-ud-971207
cvs/libc-ud-971214
cvs/libc-ud-971222
cvs/libc-ud-971228
cvs/libc-ud-980122
cvs/libc-ud-980130
cvs/libc-ud-980319
cvs/libc-ud-980427
cvs/libc-ud-980518
cvs/libc-ud-980525
cvs/libc20x-970306
cvs/libc20x-97031
cvs/libc20x-970316
cvs/libc20x-970318
cvs/libc20x-970319
cvs/libc20x-970404
cvs/libc20x-970417
cvs/libc20x-ud-970316
cvs/libc20x-ud-970318
cvs/libc20x-ud-970319
cvs/libc20x-ud-970404
cvs/libc20x-ud-970417
cvs/libc2_0_x-ud-970306
cvs/libc_1_09
cvs/make-3-72-10
cvs/make-3-72-11
cvs/make-3-72-12
cvs/make-3-72-13
cvs/make-3-72-9
cvs/make-3-73
cvs/make-3-73-1
cvs/make-3-73-2
cvs/make-3-73-3
cvs/make-3-74
cvs/make-3-74-1
cvs/make-3-74-2
cvs/make-3-74-3
cvs/make-3-74-4
cvs/make-3-74-5
cvs/make-3-74-6
cvs/make-3-74-7
cvs/make-3-75
cvs/mib-28oct94
cvs/post-lgplv2_1
cvs/pre-glibc-2_1_3
cvs/pre-lgplv2_1
cvs/release-0-0
cvs/release-0-1
cvs/root-libc-2_0_x-branch
cvs/sparc-980522-merge
cvs/start
fedora/glibc-2.10.1-3
fedora/glibc-2.10.1-4
fedora/glibc-2.10.1-5
fedora/glibc-2.10.2-1
fedora/glibc-2.10.90-1
fedora/glibc-2.10.90-10
fedora/glibc-2.10.90-11
fedora/glibc-2.10.90-12
fedora/glibc-2.10.90-13
fedora/glibc-2.10.90-14
fedora/glibc-2.10.90-15
fedora/glibc-2.10.90-16
fedora/glibc-2.10.90-17
fedora/glibc-2.10.90-18
fedora/glibc-2.10.90-19
fedora/glibc-2.10.90-2
fedora/glibc-2.10.90-20
fedora/glibc-2.10.90-21
fedora/glibc-2.10.90-22
fedora/glibc-2.10.90-23
fedora/glibc-2.10.90-24
fedora/glibc-2.10.90-25
fedora/glibc-2.10.90-26
fedora/glibc-2.10.90-27
fedora/glibc-2.10.90-3
fedora/glibc-2.10.90-4
fedora/glibc-2.10.90-5
fedora/glibc-2.10.90-6
fedora/glibc-2.10.90-7
fedora/glibc-2.10.90-9
fedora/glibc-2.11-1
fedora/glibc-2.11-2
fedora/glibc-2.11-3
fedora/glibc-2.11-4
fedora/glibc-2.11.1-1
fedora/glibc-2.11.1-4
fedora/glibc-2.11.1-5
fedora/glibc-2.11.1-6
fedora/glibc-2.11.1-7
fedora/glibc-2.11.2-1
fedora/glibc-2.11.90-1
fedora/glibc-2.11.90-10
fedora/glibc-2.11.90-11
fedora/glibc-2.11.90-12
fedora/glibc-2.11.90-13
fedora/glibc-2.11.90-14
fedora/glibc-2.11.90-15
fedora/glibc-2.11.90-16
fedora/glibc-2.11.90-17
fedora/glibc-2.11.90-18
fedora/glibc-2.11.90-19
fedora/glibc-2.11.90-2
fedora/glibc-2.11.90-20
fedora/glibc-2.11.90-3
fedora/glibc-2.11.90-4
fedora/glibc-2.11.90-5
fedora/glibc-2.11.90-6
fedora/glibc-2.11.90-7
fedora/glibc-2.11.90-8
fedora/glibc-2.11.90-9
fedora/glibc-2.12-1
fedora/glibc-2.12-2
fedora/glibc-2.12-3
fedora/glibc-2.12.90-1
fedora/glibc-2.12.90-2
fedora/glibc-2.12.90-3
fedora/glibc-2.12.90-4
fedora/glibc-2.12.90-5
fedora/glibc-2.12.90-6
glibc-1.09
glibc-1.90
glibc-1.91
glibc-1.92
glibc-1.93
glibc-2.0.100
glibc-2.0.101
glibc-2.0.103
glibc-2.0.106
glibc-2.0.112
glibc-2.0.2
glibc-2.0.4
glibc-2.0.5
glibc-2.0.5b
glibc-2.0.6
glibc-2.0.92
glibc-2.0.95
glibc-2.0.96
glibc-2.0.97
glibc-2.0.98
glibc-2.0.99
glibc-2.1
glibc-2.1.1
glibc-2.1.2
glibc-2.1.91
glibc-2.1.92
glibc-2.1.93
glibc-2.1.94
glibc-2.1.95
glibc-2.1.96
glibc-2.1.97
glibc-2.10
glibc-2.10.1
glibc-2.10.2
glibc-2.11
glibc-2.11.1
glibc-2.11.2
glibc-2.11.3
glibc-2.12
glibc-2.12.1
glibc-2.12.2
glibc-2.13
glibc-2.14
glibc-2.14.1
glibc-2.15
glibc-2.16
glibc-2.16-ports-before-merge
glibc-2.16-ports-merge
glibc-2.16-tps
glibc-2.16.0
glibc-2.16.90
glibc-2.17
glibc-2.17.90
glibc-2.18
glibc-2.18.90
glibc-2.19
glibc-2.19.90
glibc-2.2
glibc-2.2.1
glibc-2.2.2
glibc-2.2.3
glibc-2.2.4
glibc-2.2.5
glibc-2.20
glibc-2.20.90
glibc-2.21
glibc-2.21.90
glibc-2.22
glibc-2.22.90
glibc-2.23
glibc-2.23.90
glibc-2.24
glibc-2.24.90
glibc-2.25
glibc-2.25.90
glibc-2.26
glibc-2.26.9000
glibc-2.27
glibc-2.27.9000
glibc-2.28
glibc-2.28.9000
glibc-2.29
glibc-2.29.9000
glibc-2.3
glibc-2.3.1
glibc-2.3.2
glibc-2.3.3
glibc-2.3.4
glibc-2.3.5
glibc-2.3.6
glibc-2.30
glibc-2.30.9000
glibc-2.31
glibc-2.31.9000
glibc-2.32
glibc-2.32.9000
glibc-2.33
glibc-2.33.9000
glibc-2.34
glibc-2.34.9000
glibc-2.35
glibc-2.35.9000
glibc-2.36
glibc-2.36.9000
glibc-2.37
glibc-2.37.9000
glibc-2.38
glibc-2.38.9000
glibc-2.39
glibc-2.39.9000
glibc-2.4
glibc-2.5
glibc-2.5.1
glibc-2.6
glibc-2.6.1
glibc-2.7
glibc-2.8
glibc-2.9
${ noResults }
337 Commits (3f853f22c87f0b671c0366eb290919719fa56c0e)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
8082d91e1c |
Factor out shared definitions from bits/signum.h.
Many of the things defined by bits/signum.h are invariant across all supported operating systems. This patch factors out all of them to a new header bits/signum-generic.h, which each bits/signum.h will include and then override whichever things need adjustment. Normally that will mean, at most, adding or changing a few signal numbers. A user-visible side effect is that the obsolete signal constant SIGUNUSED (which is an alias for SIGSYS on all platforms that define it) is no longer exposed by any version of bits/signum.h. A side effect only relevant to glibc hackers is that _NSIG is now defined in terms of __SIGRTMAX, instead of the other way around. This is because __SIGRTMAX varies from platform to platform, but _NSIG==__SIGRTMAX+1 is true universally. If your platform doesn't support realtime signals, leave __SIGRTMAX equal to __SIGRTMIN. I also added a Linux-specific test to make sure that our signal constants match the ones in <asm/signal.h>, since we can't use that header (it's not even vaguely namespace-clean). * bits/signum-generic.h: Renamed from bits/signum.h. Add proper multiple include guard and misuse check. Define __SIGRTMIN = __SIGRTMAX = 32, and define _NSIG = __SIGRTMAX+1. Move definition of SIGIO to "archaic names for compatibility" section. * bits/signum.h: New file which just includes bits/signum-generic.h. * sysdeps/unix/bsd/bits/signum.h * sysdeps/unix/sysv/linux/bits/signum.h * sysdeps/unix/sysv/linux/alpha/bits/signum.h * sysdeps/unix/sysv/linux/hppa/bits/signum.h * sysdeps/unix/sysv/linux/mips/bits/signum.h * sysdeps/unix/sysv/linux/sparc/bits/signum.h Just include <bits/signum-generic.h> and then add or adjust signal constants. Do not define SIGUNUSED, SIGRTMIN, or SIGRTMAX. * signal/Makefile: Install bits/signum-generic.h. * signal/signal.h: Define SIGRTMIN and SIGRTMAX here. * sysdeps/generic/siglist.h: SIGSYS and SIGWINCH are universal. Prefer SIGPOLL to SIGIO. Simplify #ifdeffage. * sysdeps/unix/sysv/linux/tst-signal-numbers.sh: New test. * sysdeps/unix/sysv/linux/Makefile: Run it. |
9 years ago |
|
|
09a596cc2c |
Remove bits/string.h.
These machine-dependent inline string functions have never been on by default, and even if they were a good idea at the time they were introduced, they haven't really been touched in ten to fifteen years and probably aren't a good idea on current-gen processors. Current thinking is that this class of optimization is best left to the compiler. * bits/string.h, string/bits/string.h * sysdeps/aarch64/bits/string.h * sysdeps/m68k/m680x0/m68020/bits/string.h * sysdeps/s390/bits/string.h, sysdeps/sparc/bits/string.h * sysdeps/x86/bits/string.h: Delete file. * string/string.h: Don't include bits/string.h. * string/bits/string3.h: Rename to bits/string_fortified.h. No need to undef various symbols that the removed headers might have defined as macros. * string/Makefile (headers): Remove bits/string.h, change bits/string3.h to bits/string_fortified.h. * string/string-inlines.c: Update commentary. Remove definitions of various macros that nothing looks at anymore. Don't directly include bits/string.h. Set _STRING_INLINE_unaligned here, based on compiler-predefined macros. * string/strncat.c: If STRNCAT is not defined, or STRNCAT_PRIMARY _is_ defined, provide internal hidden alias __strncat. * include/string.h: Declare internal hidden alias __strncat. Only forward __stpcpy to __builtin_stpcpy if __NO_STRING_INLINES is not defined. * include/bits/string3.h: Rename to bits/string_fortified.h, update to match above. * sysdeps/i386/string-inlines.c: Define compat symbols for everything formerly defined by sysdeps/x86/bits/string.h. Make existing definitions into compat symbols as well. Remove some no-longer-necessary messing around with macros. * sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c * sysdeps/powerpc/powerpc64/multiarch/mempcpy.c * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c * sysdeps/s390/multiarch/mempcpy.c No need to define _HAVE_STRING_ARCH_mempcpy. Do define __NO_STRING_INLINES and NO_MEMPCPY_STPCPY_REDIRECT. * sysdeps/i386/i686/multiarch/strncat-c.c * sysdeps/s390/multiarch/strncat-c.c * sysdeps/x86_64/multiarch/strncat-c.c Define STRNCAT_PRIMARY. Don't change definition of libc_hidden_def. |
10 years ago |
|
|
a66bc30d6b |
Define struct rusage in sys/wait.h when required (bug 21575).
Some older standards (XPG4.2 through POSIX.1:2001, XSI only) require sys/wait.h to include the definition of struct rusage. This is missing in glibc. This patch adds the required definition. struct rusage is moved to a new header bits/types/struct_rusage.h to avoid bringing in the whole of sys/resource.h (although the standards in question do allow the whole of sys/resource.h to be brought in). In the five bits/resource.h headers, the only variation between the definitions of struct rusage is that the sysdeps/unix/sysv/linux version is prepared for x32 (by having anonymous unions with __syscall_slong_t fields) and the others are not. Thus, this version is suitable for use generically (everything other than x32 simply has __syscall_slong_t the same as long int, so there are no API or ABI changes involved, and anonymous unions are already a required language feature for glibc headers elsewhere), and this patch uses it as a base for the single implementation of bits/types/struct_rusage.h. Tested for x86_64, and with build-many-glibcs.py. [BZ #21575] * resource/bits/types/struct_rusage.h: New file. * include/bits/types/struct_rusage.h: Likewise. * bits/resource.h (struct rusage): Include <bits/types/struct_rusage.h> instead of defining here. * sysdeps/unix/sysv/linux/bits/resource.h (struct rusage): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/resource.h (struct rusage): Likewise. * sysdeps/unix/sysv/linux/mips/bits/resource.h (struct rusage): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h (struct rusage): Likewise. * resource/Makefile (headers): Add bits/types/struct_rusage.h. * posix/sys/wait.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K8]: Include <bits/types/struct_rusage.h> |
9 years ago |
|
|
fd860eaaa8 |
Remove __need macros from errno.h (__need_Emath, __need_error_t).
This is fairly complicated, not because the users of __need_Emath and __need_error_t have complicated requirements, but because the core changes had a lot of fallout. __need_error_t exists for gnulib compatibility in argz.h and argp.h. error_t itself is a Hurdism, an enum containing all the E-constants, so you can do 'p (error_t) errno' in gdb and get a symbolic value. argz.h and argp.h use it for function return values, and they want to fall back to 'int' when that's not available. There is no reason why these nonstandard headers cannot just go ahead and include all of errno.h; so we do that. __need_Emath is defined only by .S files; what they _really_ need is for errno.h to avoid declaring anything other than the E-constants (e.g. 'extern int __errno_location(void);' is a syntax error in assembly language). This is replaced with a check for __ASSEMBLER__ in errno.h, plus a carefully documented requirement for bits/errno.h not to define anything other than macros. That in turn has the consequence that bits/errno.h must not define errno - fortunately, all live ports use the same definition of errno, so I've moved it to errno.h. The Hurd bits/errno.h must also take care not to define error_t when __ASSEMBLER__ is defined, which involves repeating all of the definitions twice, but it's a generated file so that's okay. * stdlib/errno.h: Remove __need_Emath and __need_error_t logic. Reorganize file. Declare errno here. When __ASSEMBLER__ is defined, don't declare anything other than the E-constants. * include/errno.h: Change conditional for exposing internal declarations to (not _ISOMAC and not __ASSEMBLER__). * bits/errno.h: Remove logic for __need_Emath. Document requirements for a port-specific bits/errno.h. * sysdeps/unix/sysv/linux/bits/errno.h * sysdeps/unix/sysv/linux/alpha/bits/errno.h * sysdeps/unix/sysv/linux/hppa/bits/errno.h * sysdeps/unix/sysv/linux/mips/bits/errno.h * sysdeps/unix/sysv/linux/sparc/bits/errno.h: Add multiple-include guard and check against improper inclusion. Remove __need_Emath logic. Don't declare errno here. Ensure all constants are defined as simple integer literals. Consistent formatting. * sysdeps/mach/hurd/errnos.awk: Likewise. Only define error_t and enum __error_t_codes if __ASSEMBLER__ is not defined. * sysdeps/mach/hurd/bits/errno.h: Regenerate. * argp/argp.h, string/argz.h: Don't define __need_error_t before including errno.h. * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S * sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S * sysdeps/x86_64/fpu/s_cosf.S * sysdeps/x86_64/fpu/s_sincosf.S * sysdeps/x86_64/fpu/s_sinf.S: Just include errno.h; don't define __need_Emath or include bits/errno.h directly. |
9 years ago |
|
|
37f802f864 |
Remove __need_IOV_MAX and __need_FOPEN_MAX.
__need_FOPEN_MAX wasn't being used anywhere. __need_IOV_MAX was more complicated; the basic deal is that sys/uio.h wants to define a constant named UIO_MAXIOV and bits/xopen_lim.h wants to define a constant named IOV_MAX, with the same meaning. For no apparent reason this was being handled via bits/stdio_lim.h -- stdio.h is NOT supposed to define IOV_MAX -- and some mess in Makerules. Also, bits/uio.h on Linux was being used as a dumping ground for extension functions. So now we have bits/uio_lim.h, which defines __IOV_MAX. bits/xopen_lim.h and sys/uio.h use that to define their respective constants. We also now have bits/uio-ext.h, which is the official Proper Home for extensions to sys/uio.h. bits/uio.h is removed, and stdio_lim.h doesn't define IOV_MAX at all. * bits/uio_lim.h, sysdeps/unix/sysv/linux/bits/uio_lim.h * bits/uio-ext.h, sysdeps/unix/sysv/linux/bits/uio-ext.h: New file. * bits/uio.h, sysdeps/unix/sysv/linux/bits/uio.h: Delete file. * include/bits/xopen_lim.h: Use bits/uio_lim.h to get the value for IOV_MAX. * misc/Makefile: Install bits/uio-ext.h and bits/uio_lim.h. Don't install bits/uio.h. * misc/sys/uio.h: Don't include bits/uio.h. Do include bits/types/struct_iovec.h and bits/uio_lim.h. Set UIO_MAXIOV based on __IOV_MAX. Under __USE_GNU, also include bits/uio-ext.h. * stdio-common/stdio_lim.h.in: Remove logic for __need_FOPEN_MAX and __need_IOV_MAX. Don't define IOV_MAX at all. * Makerules (stdio_lim.h): Remove logic for setting IOV_MAX. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h: Include bits/types/struct_iovec.h, not bits/uio.h. Use __ssize_t, not ssize_t, in function prototypes. Don't use hard TAB for double space after period in comments. |
9 years ago |
|
|
46ee3da55e |
Remove __need_schedparam and __cpu_set_t_defined.
bits/sched.h has logic to expose only an impl-namespace variant of struct sched_param (i.e. struct __sched_param), but nothing uses it, and the only header that includes bits/sched.h is sched.h. The __need_schedparam logic can therefore be removed. bits/sched.h also has a great deal of code relating to cpu_set_t objects that was *almost* the same between the two versions of bits/sched.h in the tree; a little spelunking indicated that this is because some bug fixes got applied to the Linux-specific bits/sched.h but not the generic one. Introduce a new header, bits/cpu-set.h, containing the version of that code with the bugfixes, have sched.h include it directly, and delete all of the code from both versions of bits/sched.h. Also remove the unnecessary name mangling in the definition of struct sched_param -- POSIX specifies a field 'sched_priority', so there is no reason to define it as '__sched_priority' and then paper over that with a macro. (Just in case someone was using the internal name, 'sched_priority' remains a macro defined to expand to itself, and '__sched_priority' now expands to 'sched_priority'.) Finally, as long as I'm touching these files anyway, merge new constants from linux/sched.h into the Linux bits/sched.h. * bits/sched.h: Remove __need_schedparam logic and replace with a normal multiple-include guard. Change field name in struct sched_param from __sched_priority to sched_priority. Delete everything under #ifndef __cpu_set_t_defined. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. Also sync with kernel sched.h, adding SCHED_ISO and SCHED_DEADLINE constants. * posix/sched.h: Include bits/cpu-set.h as well as bits/sched.h. For compatibility, #define sched_priority to itself, and #define __sched_priority as sched_priority. * posix/bits/cpu-set.h: New file containing, verbatim, the code that was under #ifndef __cpu_set_t_defined in sysdeps/unix/sysv/linux/bits/sched.h. * include/bits/cpu-set.h: New wrapper. * posix/Makefile: Install bits/cpu-set.h. |
9 years ago |
|
|
c4c96f92f7 |
Define SIG_HOLD for XPG4 (bug 21538).
Various bits/signum.h headers define SIG_HOLD if __USE_UNIX98. That should be __USE_XOPEN, as this macro is in XPG4. This patch fixes the conditionals accordingly. Because of other header bugs, this does not allow any XFAILs to be removed (however, the XPG4/signal.h/conform XFAIL only depends on a few such straightforward header bugs, not on the more complicated to fix ucontext_t issues, as ucontext_t isn't included in signal.h in XPG4). Tested for x86_64. [BZ #21538] * bits/signum.h (SIG_HOLD): Define if [__USE_XOPEN], not [__USE_UNIX98]. * sysdeps/unix/bsd/bits/signum.h (SIG_HOLD): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/signum.h (SIG_HOLD): Likewise. * sysdeps/unix/sysv/linux/bits/signum.h (SIG_HOLD): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/signum.h (SIG_HOLD): Likewise. * sysdeps/unix/sysv/linux/mips/bits/signum.h (SIG_HOLD): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/signum.h (SIG_HOLD): Likewise. |
9 years ago |
|
|
7553131847 |
Fix struct sigaltstack namespace (bug 21517).
glibc defines the stack_t type with the tag struct sigaltstack. This is not permitted by POSIX; sigaltstack is only reserved with file scope in the namespace of ordinary identifiers, not the tag namespace, and in the case where stack_t is obtained from ucontext.h rather than signal.h, it's not reserved with file scope at all. This patch removes the tag accordingly and updates uses in glibc of struct sigaltstack. This is similar to the removal of the "struct siginfo" tag a few years ago: C++ name mangling changes are an unavoidable consequence. A NEWS item is added to note the changed mangling. There is inevitably some risk of breaking builds of anything that relies on the struct sigaltstack name (though the first few hits I looked at from codesearch.debian.net generally seemed to involve code that could use the stack_t name conditionally, so depending on how they determine the conditionals they may work with glibc not defining the struct tag anyway). Tested for x86_64 and x86, and with build-many-glibcs.py. [BZ #21517] * bits/types/stack_t.h (stack_t): Remove struct tag. * sysdeps/unix/sysv/linux/bits/types/stack_t.h (stack_t): Likewise. * sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h (stack_t): Likewise. * debug/segfault.c (install_handler): Use stack_t instead of struct sigaltstack. * hurd/hurd/signal.h (struct hurd_sigstate): Likewise. * hurd/trampoline.c (_hurd_setup_sighandler): Likewise. * include/signal.h (__sigaltstack): Likwise. * signal/sigaltstack.c (__sigaltstack): Likewise. * signal/signal.h (sigaltstack): Likewise. * sysdeps/mach/hurd/i386/signal-defines.sym (SIGALTSTACK__SS_SP__OFFSET): Likewise. (SIGALTSTACK__SS_SIZE__OFFSET): Likewise. (SIGALTSTACK__SS_FLAGS__OFFSET): Likewise. * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. * sysdeps/mach/hurd/sigstack.c (sigstack): Likewise. * sysdeps/unix/sysv/linux/alpha/sys/procfs.h (struct elf_prstatus): Likewise. * sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c (CHECK_SP): Likewise. * sysdeps/unix/sysv/linux/ia64/sys/procfs.h (struct elf_prstatus): Likewise. * sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c (CHECK_SP): Likewise. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (struct elf_prstatus): Likewise. * sysdeps/unix/sysv/linux/sh/sys/procfs.h (struct elf_prstatus): Likewise. * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prstatus): Likewise. |
9 years ago |
|
|
a992f506ff |
Remove __need macros from signal.h.
The types affected are __sig_atomic_t, sig_atomic_t, __sigset_t, sigset_t, sigval_t, sigevent_t, and siginfo_t. __sig_atomic_t is a scalar, so it's now directly available from bits/types.h. The others get bits/types/ headers. Side effects include: There have been small changes to which non-signal headers expose which subset of the signal-related types. A couple of architectures' nested siginfo_t fields had to be renamed to prevent undesired macro expansion. Internal code that wants to manipulate signal masks must now include <sigsetops.h> (which is not installed) and should be aware that __sigaddset, __sigandset, __sigdelset, __sigemptyset, and __sigorset no longer return a value (unlike the public API). Relatedly, the public signal.h no longer declares any of those functions. The obsolete sigmask() macro no longer has a system-specific definition -- in the cases where it matters, it didn't work anyway. New Linux architectures should create bits/siginfo-arch.h and/or bits/siginfo-consts-arch.h to customize their siginfo_t, rather than duplicating everything in bits/siginfo.h (which no longer exists). Add new __SI_* macros if necessary. Ports to other operating systems are strongly encouraged to generalize this scheme further. * bits/sigevent-consts.h * bits/siginfo-consts.h * bits/types/__sigset_t.h * bits/types/sigevent_t.h * bits/types/siginfo_t.h * sysdeps/unix/sysv/linux/bits/sigevent-consts.h * sysdeps/unix/sysv/linux/bits/siginfo-consts.h * sysdeps/unix/sysv/linux/bits/types/__sigset_t.h * sysdeps/unix/sysv/linux/bits/types/sigevent_t.h * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: New system-dependent bits headers. * sysdeps/unix/sysv/linux/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h * sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h * sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h * sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h: New Linux-only system-dependent bits headers. * signal/bits/types/sig_atomic_t.h * signal/bits/types/sigset_t.h * signal/bits/types/sigval_t.h: New non-system-dependent bits headers. * sysdeps/generic/sigsetops.h * sysdeps/unix/sysv/linux/sigsetops.h: New internal headers. * include/bits/types/sig_atomic_t.h * include/bits/types/sigset_t.h * include/bits/types/sigval_t.h: New wrappers. * signal/sigsetops.h * bits/siginfo.h * bits/sigset.h * sysdeps/unix/sysv/linux/bits/siginfo.h * sysdeps/unix/sysv/linux/bits/sigset.h * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h * sysdeps/unix/sysv/linux/mips/bits/siginfo.h * sysdeps/unix/sysv/linux/s390/bits/siginfo.h * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h * sysdeps/unix/sysv/linux/tile/bits/siginfo.h * sysdeps/unix/sysv/linux/x86/bits/siginfo.h: Deleted. * signal/Makefile, sysdeps/unix/sysv/linux/Makefile: Update lists of installed headers. * posix/bits/types.h: Define __sig_atomic_t here. * signal/signal.h: Use the new bits headers; no need to handle __need_sig_atomic_t nor __need_sigset_t. Don't use __sigmask to define sigmask. * include/signal.h: No need to handle __need_sig_atomic_t nor __need_sigset_t. Don't define __sigemptyset. * io/sys/poll.h, setjmp/setjmp.h * sysdeps/arm/sys/ucontext.h, sysdeps/generic/sys/ucontext.h * sysdeps/i386/sys/ucontext.h, sysdeps/m68k/sys/ucontext.h * sysdeps/mach/hurd/i386/bits/sigcontext.h * sysdeps/mips/sys/ucontext.h, sysdeps/powerpc/novmxsetjmp.h * sysdeps/pthread/bits/sigthread.h * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h * sysdeps/unix/sysv/linux/mips/sys/ucontext.h * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h * sysdeps/unix/sysv/linux/s390/sys/ucontext.h * sysdeps/unix/sysv/linux/sh/sys/ucontext.h * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h * sysdeps/unix/sysv/linux/tile/sys/ucontext.h * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Use bits/types/__sigset_t.h. * misc/sys/select.h, posix/spawn.h * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h * sysdeps/unix/sysv/linux/sys/epoll.h * sysdeps/unix/sysv/linux/sys/signalfd.h: Use bits/types/sigset_t.h. * resolv/netdb.h, rt/mqueue.h: Use bits/types/sigevent_t.h. * rt/aio.h: Use bits/types/sigevent_t.h and bits/sigevent-consts.h. * socket/sys/socket.h: Don't include bits/sigset.h. * login/utmp_file.c, shadow/lckpwdf.c, signal/sigandset.c * signal/sigisempty.c, stdlib/abort.c, sysdeps/posix/profil.c * sysdeps/posix/sigignore.c, sysdeps/posix/sigintr.c * sysdeps/posix/signal.c, sysdeps/posix/sigset.c * sysdeps/posix/sprofil.c, sysdeps/posix/sysv_signal.c * sysdeps/unix/sysv/linux/nptl-signals.h: Include sigsetops.h. * signal/sigaddset.c, signal/sigandset.c, signal/sigdelset.c * signal/sigorset.c, stdlib/abort.c, sysdeps/posix/sigignore.c * sysdeps/posix/signal.c, sysdeps/posix/sigset.c: __sigaddset, __sigandset, __sigdelset, __sigemptyset, __sigorset now return no value. * signal/sigaddset.c, signal/sigdelset.c, signal/sigismem.c Include <errno.h>, <signal.h>, and <sigsetops.h> instead of "sigsetops.h". * signal/sigsetops.c: Explicitly define __sigismember, __sigaddset, and __sigdelset as compatibility symbols. * signal/Versions: Correct commentary on __sigpause, __sigaddset, __sigdelset, __sigismember. * inet/rcmd.c: Include sigsetops.h. Convert old code using __sigblock/__sigsetmask to use __sigprocmask and friends. |
9 years ago |
|
|
0bcec5321f |
Split up bits/sigstack.h.
bits/sigstack.h contains four things: the legacy struct sigstack type, the preferred stack_t type, the SS_* enum values and macros for signal stack sizes. These vary in different ways between glibc configurations; in particular, the stack sizes vary much more than any of the other pieces. Furthermore, these pieces have different standard namespace rules for when they should be visible (not currently visible in conform/ results both because the relevant tests are XFAILed for sys/ucontext.h namespace issues, and because some of the expectations are incorrect in the same way as the headers, e.g. neither expectations nor headers reflect that current POSIX no longer has either the sigstack function or the sigstack structure). To reduce duplication of identical definitions, and facilitate namespace fixes without requiring the same feature test macro conditions to be repeated in many versions of the same header, this patch splits bits/sigstack.h up into four headers. It keeps the stack size macros, while new bits/types/struct_sigstack.h, bits/types/stack_t.h and bits/ss_flags.h are added for the other pieces. bits/types/struct_sigstack.h is the same everywhere, bits/types/stack_t.h has three variants different in the order of the structure elements (generic = MIPS Linux, and other Linux), and bits/ss_flags.h has generic and Linux variants. This patch includes the new headers everywhere that included <bits/sigstack.h>, so should cause no difference to what any public header defines. Subsequent namespace fixes would then remove or condition some of those includes. There should be no conflicts with Zack's changes to signal.h types, beyond the trivial conflict of both making additions to signal/Makefile's headers list; the two patches affect disjoint sets of types and other definitions. Tested for x86_64 and x86, and with build-many-glibcs.py. * bits/ss_flags.h: New file. * bits/types/stack_t.h: Likewise. * include/bits/types/struct_sigstack.h: Likewise. * signal/bits/types/struct_sigstack.h: Likewise. * sysdeps/unix/sysv/linux/bits/ss_flags.h: Likewise. * sysdeps/unix/sysv/linux/bits/types/stack_t.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h: Likewise. * signal/Makefile (headers): Add bits/types/struct_sigstack.h, bits/types/stack_t.h and bits/ss_flags.h. * signal/signal.h [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]: Include <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and <bits/ss_flags.h>. * bits/sigstack.h (struct sigstack): Remove. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigstack.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h (struct sigstack): Likewise. (stack_t): Likewise. (SS_ONSTACK): Likewise. (SS_DISABLE): Likewise. * sysdeps/arm/sys/ucontext.h: Include <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and <bits/ss_flags.h>. * sysdeps/generic/sys/ucontext.h: Likewise. * sysdeps/i386/sys/ucontext.h: Likewise. * sysdeps/m68k/sys/ucontext.h: Likewise. * sysdeps/mips/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Likewise. |
9 years ago |
|
|
fcee5905d3 |
float128: Add public _Float128 declarations to libm.
This introduces the machine-dependent bits/floatn.h to control the inclusion of _Float128 ABI. * bits/floatn.h: New file. * bits/huge_val_flt128.h: Likewise. * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf128): New macro. (__DECL_SIMD_sinf128): Likewise. (__DECL_SIMD_sincosf128): Likewise. (__DECL_SIMD_logf128): Likewise. (__DECL_SIMD_expf128): Likewise. (__DECL_SIMD_powf128): Likewise. * math/Makefile (headers): Install bits/floatn.h and bits/huge_val_flt128.h. * math/bits/cmathcalls.h (_Mdouble_complex_): Only define if not defined. * math/bits/mathcalls.h (pow10, isinf, finite, drem, significand) (isnan, gamma, nexttoward, scalb): Only define if not __MATH_DECLARING_FLOATN. (nextdown, nextup, llogb, roundeven, fromfp, ufromfp, fromfpx) (ufromfpx, fmaxmag, fminmag, totalorder, totalordermag) (canonicalize, getpayload, setpayload, setpayloadsig): Declare for _FloatN even if __STDC_WANT_IEC_60559_BFP_EXT__ is not defined. * math/complex.h: Include bits/libc-header-start.h and bits/floatn.h. Include bits/cmathcalls.h to get the declarations of _Float128 versions of complex functions. [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF128): Define macro. * math/math.h: Include bits/floatn.h and bits/huge_val_flt128.h. Include bits/mathcalls-helper-functions.h and bits/mathcalls.h to get the declarations of _Float128 versions of math functions. (__MATH_DECLARING_FLOATN): New macro to control declaration of _FloatN types. [__GNUC_PREREQ (6,0)] (signbit): Since GCC 6.0, __builtin_signbit is type-generic, so use it without __MATH_TG. [__HAVE_DISTINCT_FLOAT128] (isinf): This builtin is broken for _Float128 type on GCC < 7.0. Explicitly call __isinff128 for _Float128 type and GCC < 7.0, otherwise use the builtin. [__HAVE_FLOAT128 && defined __USE_GNU] (M_Ef128, M_LOG2Ef128) (M_LOG10Ef128, M_LN2f128, M_LN10f128, M_PIf128, M_PI_2f128) (M_PI_4f128, M_1_PIf128, M_2_PIf128, M_SQRT2f128, M_SQRT1_2f128): New _GNU_SOURCE enabled macros. |
10 years ago |
|
|
4fc12f0eda |
Add support for testing __STDC_WANT_IEC_60559_TYPES_EXT__
This macro is defined by TS 18661-3 for supporting the _FloatN and _FloatNx types, as well as the functions suffixed with fN. * bits/libc-header-start.h: (__GLIBC_USE_IEC_60559_TYPES_EXT): New macro. * include/features.h: Describe __STDC_WANT_IEC_60559_TYPES_EXT__. * manual/creature.texi: Likewise. |
10 years ago |
|
|
176804300b |
Fix network headers stdint.h namespace (bug 21455).
conform/ namespace tests of arpa/inet.h, netdb.h and netinet/in.h fail for UNIX98 and XPG42 because of inclusion of stdint.h, which defines macros not permitted in those headers for those standards. UNIX98 allows them to include inttypes.h, but (predating C99) has restricted inttypes.h contents (not yet tested in the conform/ tests) not including those macros; XPG4.2 has no such permission and no inttypes.h / stdint.h at all. This patch rearranges the headers to avoid this issue. intN_t definitions move to bits/stdint-intn.h, and uintN_t definitions to bits/stdint-uintn.h. (These are not bits/types/ headers because they each define four types. They are separate rather than just a single header because sys/types.h defines intN_t but u_intN_t rather than uintN_t - and while sys/types.h could define uintN_t because of the POSIX reservation of *_t, existing practice there is largely to condition types on appropriate feature test macros, and indeed there is at least one open bug report (14553) about a type that's not so-conditioned, so maybe types there should actually have conditions added where appropriate.) The affected network headers are then made to include bits/stdint-uintn.h instead of stdint.h. This allows six XFAILs to be removed. This doesn't do anything about inttypes.h defining more than it should for UNIX98, but we don't have conformtest expectations for that case at present (and my inclination is that a fix for that should be as local as possible - affecting only inttypes.h, not stdint.h, only for the case of __USE_UNIX98 && !__USE_ISOC99). Tested for x86_64. [BZ #21455] * bits/stdint-intn.h: New file. * bits/stdint-uintn.h: Likewise. * stdlib/Makefile (headers): Add bits/stdint-intn.h and bits/stdint-uintn.h. * inet/netinet/in.h: Include <bits/stdint-uintn.h> instead of <stdint.h>. * posix/sys/types.h: Include <bits/stdint-intn.h>. (__int8_t_defined): Do not define here. (int8_t): Likewise. (int16_t): Likewise. (int32_t): Likewise. (int64_t): Likewise. [__GNUC_PREREQ (2, 7)] (__intN_t): Likewise. * resolv/netdb.h: Include <bits/stdint-uintn.h> instead of <stdint.h>. * include/netdb.h [_ISOMAC]: Do not include <stdint.h>. * sysdeps/generic/stdint.h: Include <bits/stdint-intn.h> and <bits/stdint-uintn.h>. (int8_t): Do not define here. (int16_t): Likewise. (int32_t): Likewise. (int64_t): Likewise. (uint8_t): Likewise. (uint16_t): Likewise. (uint32_t): Likewise. (uint64_t): Likewise. * conform/Makefile (test-xfail-XPG42/arpa/inet.h/conform): Remove variable. (test-xfail-XPG42/netdb.h/conform): Likewise. (test-xfail-XPG42/netinet/in.h/conform): Likewise. (test-xfail-UNIX98/arpa/inet.h/conform): Likewise. (test-xfail-UNIX98/netdb.h/conform): Likewise. (test-xfail-UNIX98/netinet/in.h/conform): Likewise. |
9 years ago |
|
|
9fe3c80c7c |
Fix sys/socket.h namespace issues from sys/uio.h inclusion (bug 21426).
sys/socket.h includes sys/uio.h to get the definition of the iovec
structure.
POSIX allows sys/socket.h to make all sys/uio.h symbols visible.
However, all of sys/uio.h is XSI-shaded, so for non-XSI POSIX this
results in conformtest failures (for sys/socket.h and other headers
that include it):
Namespace violation: "UIO_MAXIOV"
Namespace violation: "readv"
Namespace violation: "writev"
Now, there is some ambiguity in POSIX about what namespace
reservations apply in this case - see
http://austingroupbugs.net/view.php?id=1127 - but glibc convention
would still avoid declaring readv and writev, for example, for feature
test macros that don't include them (if only headers from the relevant
standard are included), even if such declarations are permitted, so
there is a bug here according to glibc conventions.
This patch moves the struct iovec definition to a new
bits/types/struct_iovec.h header and includes that from sys/socket.h
instead of including the whole of sys/uio.h. This fixes the namespace
issue; however, three files in glibc that were relying on the implicit
inclusion needed to be updated to include sys/uio.h explicitly. So
there is a question of whether sys/socket.h should continue to include
sys/uio.h under some conditions, such as __USE_XOPEN or __USE_MISC or
__USE_XOPEN || __USE_MISC, for greater compatibility with code that
(wrongly) expects this optional inclusion to be present there. (I
think the three affected files in glibc should still have explicit
sys/uio.h inclusions added in any case, however.)
Tested for x86_64.
[BZ #21426]
* misc/bits/types/struct_iovec.h: New file.
* misc/Makefile (headers): Add bits/types/struct_iovec.h.
* include/bits/types/struct_iovec.h: New file.
* bits/uio.h (struct iovec): Replace by inclusion of
<bits/types/struct_iovec.h>.
* sysdeps/unix/sysv/linux/bits/uio.h (struct iovec): Likewise.
* socket/sys/socket.h: Include <bits/types/struct_iovec.h> instead
of <sys/uio.h>.
* nptl/tst-cancel4.c: Include <sys/uio.h>
* posix/test-errno.c: Likewise.
* support/resolv_test.c: Likewise.
* conform/Makefile (test-xfail-POSIX2008/arpa/inet.h/conform):
Remove.
(test-xfail-POSIX2008/netdb.h/conform): Likewise.
(test-xfail-POSIX2008/netinet/in.h/conform): Likewise.
(test-xfail-POSIX2008/sys/socket.h/conform): Likewise.
|
9 years ago |
|
|
b31737bdf9 |
Refer to <signal.h> instead of <pthread.h> in <bits/sigthread.h>
The <bits/sigthread.h> header is included by <signal.h>, not <pthread.h>. |
9 years ago |
|
|
ab9536a75d |
Move bits/types.h into posix/bits.
bits/types.h has no sysdeps variants, so it should be in the subdirectory that installs it (namely, posix). * bits/types.h: Move to posix/bits. * include/bits/types.h: New wrapper. |
9 years ago |
|
|
6a1cefac19 |
Make endian-conversion macros always return correct types (bug 16458).
Bug 16458 reports that the endian-conversion macros in <endian.h> and
<netinet/in.h>, in the case where no endian conversion is needed, just
return their arguments without converting to the expected return type,
so failing to act as expected for a macro version of a function. (The
<netinet/in.h> macros, in particular, are described with prototypes in
POSIX so should act like correspondingly prototyped functions.)
Where previously this was a fairly obscure issue, it now results in
glibc build with GCC mainline breaking for big-endian systems:
nss_hesiod/hesiod-service.c: In function '_nss_hesiod_getservbyport_r':
nss_hesiod/hesiod-service.c:142:39: error: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 6 [-Werror=format-truncation=]
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~
nss_hesiod/hesiod-service.c:142:38: note: using the range [1, -2147483648] for directive argument
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~
nss_hesiod/hesiod-service.c:142:3: note: format output between 2 and 12 bytes into a destination of size 6
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The port argument is passed as int to this function, so when ntohs
does not convert the compiler cannot tell that the result is within
the range of uint16_t. (I don't know if in fact it's possible for
out-of-range values to reach this function and so get truncated as
strings without this patch or as integers with it.)
This patch arranges for these macros to use identity functions to
ensure appropriate conversions while having warnings for implicit
conversions of function arguments that might not occur with a cast.
Tested for x86_64 and x86; with build-many-glibcs.py with GCC 6; and
with build-many-glibcs.py with GCC mainline for powerpc to test the
build fix.
[BZ #16458]
* bits/uintn-identity.h: New file.
* inet/netinet/in.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohs): Use __uint16_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htonl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htohs): Use __uint16_identity.
* string/endian.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole16): Use
__uint16_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le16toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole32): Use
__uint32_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le32toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole64): Use
__uint64_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le64toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe16): Use
__uint16_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be16toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe32): Use
__uint32_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be32toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe64): Use
__uint64_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be64toh): Likewise.
* string/Makefile (headers): Add bits/uintn-identity.h.
(tests): Add test-endian-types.
* string/test-endian-types.c: New file.
* inet/Makefile (tests): Add test-hnto-types.
* inet/test-hnto-types.c: New file.
|
9 years ago |
|
|
bfff8b1bec |
Update copyright dates with scripts/update-copyrights.
|
9 years ago |
|
|
769998892d |
Define __intmax_t, __uintmax_t in bits/types.h.
TS 18661-1 defines *fromfp* functions, which are declared in math.h and whose return types are intmax_t and uintmax_t, without allowing math.h to define those typedefs. (This is similar to e.g. ISO C declaring vprintf in stdio.h without allowing that header to define va_list.) Thus, math.h needs to access those typedefs under internal names. This patch accordingly arranges for bits/types.h (which defines only internal names, not public *_t typedefs) to define __intmax_t and __uintmax_t. stdint.h is made to use bits/types.h and define intmax_t and uintmax_t using __intmax_t and __uintmax_t, to avoid duplication of information. (It would be reasonable to define more of the types in stdint.h - and in sys/types.h, where it duplicates such types - using information already available in bits/types.h.) The idea is that the subsequent addition of fromfp functions would then make math.h include bits/types.h and use __intmax_t and __uintmax_t as the return types of those functions. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/types.h (__intmax_t): New typedef. (__uintmax_t): Likewise. * sysdeps/generic/stdint.h: Include <bits/types.h>. (intmax_t): Define using __intmax_t. (uintmax_t): Define using __uintmax_t. |
9 years ago |
|
|
0acb8a2a85 |
Refactor long double information into bits/long-double.h.
Information about whether the ABI of long double is the same as that of double is split between bits/mathdef.h and bits/wordsize.h. When the ABIs are the same, bits/mathdef.h defines __NO_LONG_DOUBLE_MATH. In addition, in the case where the same glibc binary supports both -mlong-double-64 and -mlong-double-128, bits/wordsize.h defines __LONG_DOUBLE_MATH_OPTIONAL, along with __NO_LONG_DOUBLE_MATH if this particular compilation is with -mlong-double-64. As part of the refactoring I proposed in <https://sourceware.org/ml/libc-alpha/2016-11/msg00745.html>, this patch puts all that information in a single header, bits/long-double.h. It is included from sys/cdefs.h alongside the include of bits/wordsize.h, so other headers generally do not need to include bits/long-double.h directly. Previously, various bits/mathdef.h headers and bits/wordsize.h headers had this long double information (including implicitly in some bits/mathdef.h headers through not having the defines present in the default version). After the patch, it's all in six bits/long-double.h headers. Furthermore, most of those new headers are not architecture-specific. Architectures with optional long double all use the ldbl-opt sysdeps directory, either in the order (ldbl-64-128, ldbl-opt, ldbl-128) or (ldbl-128ibm, ldbl-opt). Thus a generic header for the case where long double = double, and headers in ldbl-128, ldbl-96 and ldbl-opt, suffices to cover every architecture except for cases where long double properties vary between different ABIs sharing a set of installed headers; fortunately all the ldbl-opt cases share a single compiler-predefined macro __LONG_DOUBLE_128__ that can be used to tell whether this compilation is -mlong-double-64 or -mlong-double-128. The two cases where a set of headers is shared between ABIs with different long double properties, MIPS (o32 has long double = double, other ABIs use ldbl-128) and SPARC (32-bit has optional long double, 64-bit has required long double), need their own bits/long-double.h headers. As with bits/wordsize.h, multiple-include protection for this header is generally implicit through the include guards on sys/cdefs.h, and multiple inclusion is harmless in any case. There is one subtlety: the header must not define __LONG_DOUBLE_MATH_OPTIONAL if __NO_LONG_DOUBLE_MATH was defined before its inclusion, because doing so breaks how sysdeps/ieee754/ldbl-opt/nldbl-compat.h defines __NO_LONG_DOUBLE_MATH itself before including system headers. Subject to keeping that working, it would be reasonable to move these macros from defined/undefined #ifdef to always-defined 1/0 #if semantics, but this patch does not attempt to do so, just rearranges where the macros are defined. After this patch, the only use of bits/mathdef.h is the alpha one for modifying complex function ABIs for old GCC. Thus, all versions of the header other than the default and alpha versions are removed, as is the include from math.h. Tested for x86_64 and x86. Also did compilation-only testing with build-many-glibcs.py. * bits/long-double.h: New file. * sysdeps/ieee754/ldbl-128/bits/long-double.h: Likewise. * sysdeps/ieee754/ldbl-96/bits/long-double.h: Likewise. * sysdeps/ieee754/ldbl-opt/bits/long-double.h: Likewise. * sysdeps/mips/bits/long-double.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Likewise. * math/Makefile (headers): Add bits/long-double.h. * misc/sys/cdefs.h: Include <bits/long-double.h>. * stdlib/strtold.c: Include <bits/long-double.h> instead of <bits/wordsize.h>. * bits/mathdef.h [!_COMPLEX_H]: Do not allow inclusion. [!__NO_LONG_DOUBLE_MATH]: Remove conditional code. * math/math.h: Do not include <bits/mathdef.h>. * sysdeps/aarch64/bits/mathdef.h: Remove file. * sysdeps/alpha/bits/mathdef.h [!_COMPLEX_H]: Do not allow inclusion. * sysdeps/ia64/bits/mathdef.h: Remove file. * sysdeps/m68k/m680x0/bits/mathdef.h: Likewise. * sysdeps/mips/bits/mathdef.h: Likewise. * sysdeps/powerpc/bits/mathdef.h: Likewise. * sysdeps/s390/bits/mathdef.h: Likewise. * sysdeps/sparc/bits/mathdef.h: Likewise. * sysdeps/x86/bits/mathdef.h: Likewise. * sysdeps/s390/s390-32/bits/wordsize.h [!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Remove conditional code. * sysdeps/s390/s390-64/bits/wordsize.h [!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/wordsize.h [!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h [!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/wordsize.h [!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Likewise. |
9 years ago |
|
|
b2491db6c8 |
Refactor FP_ILOGB* out of bits/mathdef.h.
Continuing the refactoring of bits/mathdef.h, this patch stops it defining FP_ILOGB0 and FP_ILOGBNAN, moving the required information to a new header bits/fp-logb.h. There are only two possible values of each of those macros permitted by ISO C. TS 18661-1 adds corresponding macros for llogb, and their values are required to correspond to those of the ilogb macros in the obvious way. Thus two boolean values - for which the same choices are correct for most architectures - suffice to determine the value of all these macros, and by defining macros for those boolean values in bits/fp-logb.h we can then define the public FP_* macros in math.h and avoid the present duplication of the associated feature test macro logic. This patch duly moves to bits/fp-logb.h defining __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. Default definitions of those to 0 are correct for both architectures, while ia64, m68k and x86 get their own versions of bits/fp-logb.h to reflect their use of values different from the defaults. The patch renders many copies of bits/mathdef.h trivial (needed only to avoid the default __NO_LONG_DOUBLE_MATH). I'll revise <https://sourceware.org/ml/libc-alpha/2016-11/msg00865.html> accordingly so that it removes all bits/mathdef.h headers except the default one and the alpha one, and arranges for the header to be included only by complex.h as the only remaining use at that point will be for the alpha ABI issues there. Tested for x86_64 and x86. Also did compile-only testing with build-many-glibcs.py (using glibc sources from before the commit that introduced many build failures with undefined __GI___sigsetjmp). * bits/fp-logb.h: New file. * sysdeps/ia64/bits/fp-logb.h: Likewise. * sysdeps/m68k/m680x0/bits/fp-logb.h: Likewise. * sysdeps/x86/bits/fp-logb.h: Likewise. * math/Makefile (headers): Add bits/fp-logb.h. * math/math.h: Include <bits/fp-logb.h>. [__USE_ISOC99] (FP_ILOGB0): Define based on __FP_LOGB0_IS_MIN. [__USE_ISOC99] (FP_ILOGBNAN): Define based on __FP_LOGBNAN_IS_MIN. * bits/mathdef.h (FP_ILOGB0): Remove. (FP_ILOGBNAN): Likewise. * sysdeps/aarch64/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/alpha/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/ia64/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/m68k/m680x0/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/mips/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/powerpc/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/s390/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/sparc/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. * sysdeps/x86/bits/mathdef.h (FP_ILOGB0): Likewise. (FP_ILOGBNAN): Likewise. |
9 years ago |
|
|
f11e220d2d |
Refactor FP_FAST_* into bits/fp-fast.h.
Continuing the refactoring of bits/mathdef.h, this patch moves the FP_FAST_* definitions into a new bits/fp-fast.h header. Currently this is only for FP_FAST_FMA*, but in future it would be the appropriate place for the FP_FAST_* macros from TS 18661-1 as well. The generic bits/mathdef.h header defines these macros based on whether the compiler defines __FP_FAST_*. Most architecture-specific headers, however, fail to do so, meaning that if the architecture (or some particular processors) does in fact have fused operations, and GCC knows to use them inline, the FP_FAST_* macros will still not be defined. By refactoring, this patch causes the generic version (based on __FP_FAST_*) to be used in more cases, and so the macro definitions to be more accurate. Architectures that already defined some or all of these macros other than based on the predefines have their own versions of fp-fast.h, which are arranged so they define FP_FAST_* if either the architecture-specific conditions are true or __FP_FAST_* are defined. After this refactoring, various bits/mathdef.h headers for architectures with long double = double are semantically identical to the generic version. The patch removes those headers that are redundant. (In fact two of the four removed were already redundant before this patch because they did use __FP_FAST_*.) Tested for x86_64 and x86, and compilation-only with build-many-glibcs.py. * bits/fp-fast.h: New file. * sysdeps/aarch64/bits/fp-fast.h: Likewise. * sysdeps/powerpc/bits/fp-fast.h: Likewise. * math/Makefile (headers): Add bits/fp-fast.h. * math/math.h: Include <bits/fp-fast.h>. * bits/mathdef.h (FP_FAST_FMA): Remove. (FP_FAST_FMAF): Likewise. (FP_FAST_FMAL): Likewise. * sysdeps/aarch64/bits/mathdef.h (FP_FAST_FMA): Likewise. (FP_FAST_FMAF): Likewise. * sysdeps/powerpc/bits/mathdef.h (FP_FAST_FMA): Likewise. (FP_FAST_FMAF): Likewise. * sysdeps/x86/bits/mathdef.h (FP_FAST_FMA): Likewise. (FP_FAST_FMAF): Likewise. (FP_FAST_FMAL): Likewise. * sysdeps/arm/bits/mathdef.h: Remove file. * sysdeps/hppa/fpu/bits/mathdef.h: Likewise. * sysdeps/sh/sh4/bits/mathdef.h: Likewise. * sysdeps/tile/bits/mathdef.h: Likewise. |
9 years ago |
|
|
93eb85ceb2 |
Refactor float_t, double_t information into bits/flt-eval-method.h.
At present, definitions of float_t and double_t are split among many bits/mathdef.h headers. For all but three architectures, these types are float and double. Furthermore, if you assume __FLT_EVAL_METHOD__ to be defined, that provides a more generic way of determining the correct values of these typedefs. Defining these typedefs more generally based on __FLT_EVAL_METHOD__ was previously proposed by Paul Eggert in <https://sourceware.org/ml/libc-alpha/2012-02/msg00002.html>. This patch refactors things in the way I proposed in <https://sourceware.org/ml/libc-alpha/2016-11/msg00745.html>. A new header bits/flt-eval-method.h defines a single macro, __GLIBC_FLT_EVAL_METHOD, which is then used by math.h to define float_t and double_t. The default is based on __FLT_EVAL_METHOD__ (although actually a default to 0 would have the same effect for current ports, because ports where values other than 0 or 16 are possible all have their own headers). To avoid changing the existing semantics in any case, including for compilers not defining __FLT_EVAL_METHOD__, architecture-specific files are then added for m68k, s390, x86 which replicate the existing semantics. At least with __FLT_EVAL_METHOD__ values possible with GCC, there should be no change to the choices of float_t and double_t for any supported configuration. Architecture maintainer notes: * m68k: sysdeps/m68k/m680x0/bits/flt-eval-method.h always defines __GLIBC_FLT_EVAL_METHOD to 2 to replicate the existing logic. But actually GCC defines __FLT_EVAL_METHOD__ to 0 if TARGET_68040. It might make sense to make the header prefer to base things on __FLT_EVAL_METHOD__ if defined, like the x86 version, and so make the choices of these types more accurate (with a NEWS entry as for the other changes to these types on particular architectures). * s390: sysdeps/s390/bits/flt-eval-method.h always defines __GLIBC_FLT_EVAL_METHOD to 1 to replicate the existing logic. As previously discussed, it might make sense in coordination with GCC to eliminate the historic mistake, avoid excess precision in the -fexcess-precision=standard case and make the typedefs match (with a NEWS entry, again). Tested for x86-64 and x86. Also did compilation-only testing with build-many-glibcs.py. * bits/flt-eval-method.h: New file. * sysdeps/m68k/m680x0/bits/flt-eval-method.h: Likewise. * sysdeps/s390/bits/flt-eval-method.h: Likewise. * sysdeps/x86/bits/flt-eval-method.h: Likewise. * math/Makefile (headers): Add bits/flt-eval-method.h. * math/math.h: Include <bits/flt-eval-method.h>. [__USE_ISOC99] (float_t): Define based on __GLIBC_FLT_EVAL_METHOD. [__USE_ISOC99] (double_t): Likewise. * bits/mathdef.h (float_t): Remove. (double_t): Likewise. * sysdeps/aarch64/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/alpha/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/arm/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/hppa/fpu/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/ia64/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/m68k/m680x0/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/mips/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/powerpc/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/s390/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/sh/sh4/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/sparc/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/tile/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. * sysdeps/x86/bits/mathdef.h (float_t): Likewise. (double_t): Likewise. |
10 years ago |
|
|
b0216d3e4d |
Fix default float_t definition (bug 20855).
The default (top-level) version of bits/mathdef.h defines float_t to double. It is used on ColdFire, MicroBlaze, Nios II and SH3, all of which define FLT_EVAL_METHOD to 0, so float_t should be float (and C11 requires a certain correspondence between these typedefs and FLT_EVAL_METHOD values). I proposed fixing this default in <https://sourceware.org/ml/libc-alpha/2015-01/msg00499.html>, with no objections from architecture maintainers, and this patch makes that fix. As noted in the NEWS entry added, this might affect the ABIs of non-glibc libraries (ImageMagick has been mentioned in gcc-patches discussion of the S/390 case - which is unaffected by this patch), but as noted in my previous message, affected libraries would have problems with -mfpmath=sse anyway on 32-bit x86. A (compilation) testcase is added to verify the required correspondence of typedefs to FLT_EVAL_METHOD values. This test is built with -fexcess-precision=standard to avoid any issues with GCC 7 on S/390 providing a more accurate FLT_EVAL_METHOD definition in the default (no excess precision) mode. (This will also be usable to test a fix for the recently reported bug about these typedefs on x86_64 -mfpmath=387, as architecture-specific tests can be added that It is entirely possible that the fixed default makes some architecture-specific versions of bits/mathdef.h semantically equivalent to the default version and so no longer required. I don't intend to investigate that separately from the refactoring I proposed in <https://sourceware.org/ml/libc-alpha/2016-11/msg00745.html>, which will create as few header variants as possible for each group of definitions. Tested (compilation only) with build-many-glibcs.py. [BZ #20855] * bits/mathdef.h (float_t): Define to float. * math/test-flt-eval-method.c: New file. * math/Makefile (tests): Add test-flt-eval-method. (CFLAGS-test-flt-eval-method.c): New variable. |
10 years ago |
|
|
045c13d185 |
Consolidate Linux setrlimit and getrlimit implementation
This patch consolidates all Linux setrlimit and getrlimit on the default
sysdeps/unix/sysv/linux/{set,get}rlimit{64}.c. It contains two exceptions:
1. mips32 and mips64n32 which requires a versioned symbol for GLIBC 2.19
and higher due a broken RLIM64_INFINITY constant.
2. sparc32 does not define a compat symbol for getrlimit64 for old 2GB
limit. I am not sure if it is required, but a RLIM_INFINITY fix [1]
change its definition without adding a compat symbol. This patch does
not aim to address this possible issue, it follow current symbol
export.
The default implementation uses prlimit64 for 64 bit rlim_t ({set,get}rlimit64)
and if it fails with ENOSYS it fall back to {get,set}rlimit syscall. This
code path is only used on kernel older than 2.6.36 (basically now only x86)
and I avoid to user __ASSUME_PRLIMTI64 to simplify the implementation. Once
x86 moves to be on par with other architectures regarding minimum kernel
supported we can get rid of using old syscalls and default path.
A new type size define is added, __RLIM_T_MATCHES_RLIM64_T, where is set as
default for 64 bits ports. This allows the default implementation to avoid
{get,set}rlimit building and alias {get,set}rlimit64 to {get,set}rlimit.
Checked on x86_64, i386, armhf, aarch64, and powerpc64le. I also did a
sanity build plus check-abi on all other supported architectures.
[1] Commit
|
10 years ago |
|
|
d060cd002d |
Define wordsize.h macros everywhere
* bits/wordsize.h: Add documentation. * sysdeps/aarch64/bits/wordsize.h : New file * sysdeps/generic/stdint.h (PTRDIFF_MIN, PTRDIFF_MAX): Update definitions. (SIZE_MAX): Change ifdef to if in __WORDSIZE32_SIZE_ULONG check. * sysdeps/gnu/bits/utmp.h (__WORDSIZE_TIME64_COMPAT32): Check with #if instead of #ifdef. * sysdeps/gnu/bits/utmpx.h (__WORDSIZE_TIME64_COMPAT32): Ditto. * sysdeps/mips/bits/wordsize.h (__WORDSIZE32_SIZE_ULONG, __WORDSIZE32_PTRDIFF_LONG, __WORDSIZE_TIME64_COMPAT32): Add or change defines. * sysdeps/powerpc/powerpc32/bits/wordsize.h: Likewise. * sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise. * sysdeps/s390/s390-32/bits/wordsize.h: Likewise. * sysdeps/s390/s390-64/bits/wordsize.h: Likewise. * sysdeps/sparc/sparc32/bits/wordsize.h: Likewise. * sysdeps/sparc/sparc64/bits/wordsize.h: Likewise. * sysdeps/tile/tilegx/bits/wordsize.h: Likewise. * sysdeps/tile/tilepro/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: Likewise. * sysdeps/wordsize-32/bits/wordsize.h: Likewise. * sysdeps/wordsize-64/bits/wordsize.h: Likewise. * sysdeps/x86/bits/wordsize.h: Likewise. |
10 years ago |
|
|
29cb929332 |
Add iscanonical.
TS 18661-1 adds an iscanonical classification macro to <math.h>. The motivation for this is decimal floating-point, where some values have both canonical and noncanonical encodings. For IEEE binary interchange formats, all encodings are canonical. For x86/m68k ldbl-96, and for ldbl-128ibm, there are encodings that do not represent any valid value of the type; although formally iscanonical does not need to handle trap representations (and so could just always return 1), it seems useful, and in line with the description in the TS of "representations that are extraneous to the floating-point model" as being non-canonical (as well as "redundant representations of some or all of its values"), for it to detect those representations and return 0 for them. This patch adds iscanonical to glibc. It goes in a header <bits/iscanonical.h>, included under appropriate conditions in <math.h>. The default header version just evaluates the argument (converted to its semantic type, though current GCC will probably discard that conversion and any exceptions resulting from it) and returns 1. ldbl-96 and ldbl-128ibm then have versions of the header that call a function __iscanonicall for long double (the sizeof-based tests will of course need updating for float128 support, like other such type-generic macro implementations). The ldbl-96 version of __iscanonicall has appropriate conditionals to reflect the differences in the m68k version of that format (where the high mantissa bit may be either 0 or 1 when the exponent is 0 or 0x7fff). Corresponding tests for those formats are added as well. Other architectures do not have any new functions added because just returning 1 is correct for all their floating-point formats. Tested for x86_64, x86, mips64 (to test the default macro version) and powerpc. * math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Include <bits/iscanonical.h>. * bits/iscanonical.h: New file. * math/s_iscanonicall.c: Likewise. * math/Versions (__iscanonicall): New libm symbol at version GLIBC_2.25. * math/libm-test.inc (iscanonical_test_data): New array. (iscanonical_test): New function. (main): Call iscanonical_test. * math/Makefile (headers): Add bits/iscanonical.h. (type-ldouble-routines): Add s_iscanonicall. * manual/arith.texi (Floating Point Classes): Document iscanonical. * manual/libm-err-tab.pl: Update comment on interfaces without ulps tabulated. * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h: New file. * sysdeps/ieee754/ldbl-128ibm/s_iscanonicall.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/test-iscanonical-ldbl-128ibm.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/Makefile (tests): Add test-iscanonical-ldbl-128ibm. * sysdeps/ieee754/ldbl-96/bits/iscanonical.h: New file. * sysdeps/ieee754/ldbl-96/s_iscanonicall.c: Likewise. * sysdeps/ieee754/ldbl-96/test-iscanonical-ldbl-96.c: Likewise. * sysdeps/ieee754/ldbl-96/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Update. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. |
10 years ago |
|
|
c66b29f9cc |
Installed-header hygiene (BZ#20366): stack_t.
sys/ucontext.h unconditionally uses stack_t, and it does not make sense to change that. But signal.h only declares stack_t under __USE_XOPEN_EXTENDED || __USE_XOPEN2K8. The actual definition is already in a bits header, bits/sigstack.h, but that header insists on only being included by signal.h, so we have to change that as well as all of the sys/ucontext.h variants. (Some but not all variants of bits/sigcontext.h, which sys/ucontext.h may also need, had already received this adjustment; for consistency, I made them all the same, even if that's not strictly necessary in some configurations.) bits/sigcontext.h and bits/sigstack.h also all need to receive multiple inclusion guards. * sysdeps/generic/sys/ucontext.h * sysdeps/arm/sys/ucontext.h * sysdeps/i386/sys/ucontext.h * sysdeps/m68k/sys/ucontext.h * sysdeps/mips/sys/ucontext.h * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h * sysdeps/unix/sysv/linux/arm/sys/ucontext.h * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h * sysdeps/unix/sysv/linux/mips/sys/ucontext.h * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h * sysdeps/unix/sysv/linux/s390/sys/ucontext.h * sysdeps/unix/sysv/linux/sh/sys/ucontext.h * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h * sysdeps/unix/sysv/linux/tile/sys/ucontext.h * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Include both bits/sigcontext.h and bits/sigstack.h. Fix grammar error in comment, if present. * bits/sigstack.h * sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h * sysdeps/unix/sysv/linux/alpha/bits/sigstack.h * sysdeps/unix/sysv/linux/bits/sigstack.h * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h * sysdeps/unix/sysv/linux/mips/bits/sigstack.h * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h * bits/sigcontext.h * sysdeps/mach/hurd/i386/bits/sigcontext.h * sysdeps/unix/sysv/linux/bits/sigcontext.h * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Add multiple inclusion guard. Permit inclusion by sys/ucontext.h as well as signal.h, if this was not already allowed. Request definition of size_t if necessary. Minimize semantically-null differences across files. |
10 years ago |
|
|
05b68e14b1 |
Installed-header hygiene (BZ#20366): time.h types.
Many headers are expected to expose a subset of the type definitions
in time.h. time.h has a whole bunch of messy logic for conditionally
defining some its types and structs, but, as best I can tell, this
has never worked 100%. In particular, __need_timespec is ineffective
if _TIME_H has already been defined, which means that if you compile
#include <time.h>
#include <sched.h>
with e.g. -fsyntax-only -std=c89 -Wall -Wsystem-headers, you will get
In file included from test.c:2:0:
/usr/include/sched.h:74:57: warning: "struct timespec" declared inside
parameter list will not be visible outside of this definition or declaration
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
^~~~~~~~
And if you want to _use_ sched_rr_get_interval in a TU compiled that
way, you're hosed.
This patch replaces all of that with small bits/types/TYPE.h headers
as introduced earlier. time.h and bits/time.h are now *much* simpler,
and a lot of other headers are slightly simpler.
* time/time.h, bits/time.h, sysdeps/unix/sysv/linux/bits/time.h:
Remove all logic conditional on __need macros. Move all the
conditionally defined types to their own headers...
* time/bits/types/clock_t.h: Define clock_t here.
* time/bits/types/clockid_t.h: Define clockid_t here.
* time/bits/types/struct_itimerspec.h: Define struct itimerspec here.
* time/bits/types/struct_timespec.h: Define struct timespec here.
* time/bits/types/struct_timeval.h: Define struct timeval here.
* time/bits/types/struct_tm.h: Define struct tm here.
* time/bits/types/time_t.h: Define time_t here.
* time/bits/types/timer_t.h: Define timer_t here.
* time/Makefile: Install the new headers.
* bits/resource.h, io/fcntl.h, io/sys/poll.h, io/sys/stat.h
* io/utime.h, misc/sys/select.h, posix/sched.h, posix/sys/times.h
* posix/sys/types.h, resolv/netdb.h, rt/aio.h, rt/mqueue.h
* signal/signal.h, pthread/semaphore.h, sysdeps/nptl/pthread.h
* sysdeps/unix/sysv/linux/alpha/bits/resource.h
* sysdeps/unix/sysv/linux/alpha/sys/acct.h
* sysdeps/unix/sysv/linux/bits/resource.h
* sysdeps/unix/sysv/linux/bits/timex.h
* sysdeps/unix/sysv/linux/mips/bits/resource.h
* sysdeps/unix/sysv/linux/net/ppp_defs.h
* sysdeps/unix/sysv/linux/sparc/bits/resource.h
* sysdeps/unix/sysv/linux/sys/acct.h
* sysdeps/unix/sysv/linux/sys/timerfd.h
* sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h
* time/sys/time.h, time/sys/timeb.h
Use the new bits/types headers.
* include/time.h: Remove __need logic.
* include/bits/time.h
* include/bits/types/clock_t.h, include/bits/types/clockid_t.h
* include/bits/types/time_t.h, include/bits/types/timer_t.h
* include/bits/types/struct_itimerspec.h
* include/bits/types/struct_timespec.h
* include/bits/types/struct_timeval.h
* include/bits/types/struct_tm.h:
New wrapper headers.
|
10 years ago |
|
|
11160cb76f |
Installed-header hygiene (BZ#20366): obsolete BSD u_* types.
The types u_char, u_short, u_int, u_long, ushort, uint, ulong, u_int8_t,
u_int16_t, u_int32_t, u_int64_t, quad_t, and u_quad_t are BSDisms that
have never been standardized. While glibc should continue to *provide*
these types for compatibility's sake, its public headers should not
use them.
The meat of this change was mechanically generated by the following
shell command:
perl -pi~ -e '
s/\b(__)?u_char\b/unsigned char/g;
s/\b(__)?u_?short\b/unsigned short/g;
s/\b(__)?u_?int\b/unsigned int/g;
s/\b(__)?u_?long\b/unsigned long/g;
s/\b(__)?u_int8_t\b/uint8_t/g;
s/\b(__)?u_int16_t\b/uint16_t/g;
s/\b(__)?u_int32_t\b/uint32_t/g;
s/\b(__)?u_int64_t\b/uint64_t/g;
s/\b(__)?u_quad_t\b/uint64_t/g;
s/\b(__)?quad_t\b/uint64_t/g;
' $(grep -lE -e '\<((__)?(quad_t|u(short|int|long|_(char|short|int([0-9]+_t)?|long|quad_t))))\>' \
$(grep -LE '\<(_(SYS|BITS)_TYPES_H|rpc/(rpc|rpc_msg|types|xdr)\.h)\>' \
$(find . \( -false $(sed 's/^/-o -name /' all-installed-headers) \
\) -printf '%P\n' | sort -u)))
where 'all-installed-headers' was a list of the basenames of all installed
header files, manually extracted from the Makefiles. Non-installed
wrapper headers in include/ are also adjusted, for consistency.
I then manually fixed up indentation and line-wrapping.
sys/types.h and bits/types.h are excluded because they must continue
to define the u_* types (under __USE_MISC) for compatibility with
applications. They do not use these types themselves.
All headers that (transitively) include rpc/types.h are also excluded,
for three reasons. First, the u_* types are defined by rpc/types.h,
unconditionally (not just under __USE_MISC) so they are logically part
of the SunRPC API. Second, many of those headers appear to be
machine-generated. Third, it's my understanding that we are getting
rid of as much of SunRPC as possible in the near future.
(The one file under sunrpc/ that's touched, sunrpc/rpc/rpc_des.h, does
*not* include rpc/types.h. This may itself be a bug.)
After changing from u_intNN_t to uintNN_t, a number of headers now
need to include stdint.h to pick up those types. It might be more
hygenic, namespace-wise, to use __uintNN_t instead, but none of these
headers are bound by ISO or POSIX to do so, and it's unlikely that
anyone using them will be bothered. (The two files that were using
__-prefixed versions of the u_types, sysdeps/mach/hurd/net/route.h and
sysdeps/unix/sysv/linux/net/route.h, both already also contained uses of
the unprefixed versions.)
Some of these files directly included features.h and/or sys/cdefs.h,
which I removed, as the style generally seems to be to let sys/types.h
do that for us. (This does not change the set of definitions exposed
by any header; sys/types.h unconditionally includes both features.h
and sys/cdefs.h.)
One file included asm/types.h unnecessarily.
* bits/in.h, gmon/sys/gmon.h, inet/netinet/igmp.h
* inet/protocols/routed.h, inet/protocols/talkd.h
* inet/protocols/timed.h, io/fts.h, nptl_db/thread_db.h
* resolv/arpa/nameser.h, resolv/resolv.h, sunrpc/rpc/rpc_des.h
* sysdeps/generic/netinet/if_ether.h
* sysdeps/generic/netinet/in_systm.h
* sysdeps/generic/netinet/ip.h, sysdeps/generic/netinet/tcp.h
* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
* sysdeps/gnu/netinet/udp.h, sysdeps/mach/hurd/net/ethernet.h
* sysdeps/mach/hurd/net/if_arp.h
* sysdeps/mach/hurd/net/if_ppp.h
* sysdeps/mach/hurd/net/route.h, sysdeps/mach/sys/reboot.h
* sysdeps/unix/sysv/linux/bits/in.h
* sysdeps/unix/sysv/linux/net/ethernet.h
* sysdeps/unix/sysv/linux/net/if_arp.h
* sysdeps/unix/sysv/linux/net/if_ppp.h
* sysdeps/unix/sysv/linux/net/if_shaper.h
* sysdeps/unix/sysv/linux/net/route.h
* sysdeps/unix/sysv/linux/netinet/if_ether.h
* sysdeps/unix/sysv/linux/netinet/if_fddi.h
* sysdeps/unix/sysv/linux/netinet/if_tr.h
* sysdeps/unix/sysv/linux/netipx/ipx.h
* sysdeps/unix/sysv/linux/sys/acct.h
* include/arpa/nameser.h, include/resolv.h:
Change all uses of u_char to unsigned char,
u_short and ushort to unsigned short, u_int and uint to unsigned int,
u_long and ulong to unsigned long, u_int8_t to uint8_t,
u_int16_t to uint16_t, u_int32_t to uint32_t, quad_t to int64_t,
and u_int64_t and u_quad_t to uint64_t.
* mach/sys/reboot.h: Remove two casts of integer literals
to the types they already have.
* bits/in.h: Correct error in description of IP_MULTICAST_LOOP.
* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/if_ether.h: Change a comment
from referring to 'unsigned char' to 'uint8_t' for consistency with
the macro definition below.
* gmon/sys/gmon.h, inet/netinet/igmp.h, inet/protocols/talkd.h
* io/fts.h, resolv/arpa/nameser.h, resolv/resolv.h
* sunrpc/rpc/rpc_des.h, sysdeps/generic/netinet/ip.h
* sysdeps/gnu/netinet/tcp.h, sysdeps/gnu/netinet/udp.h
* sysdeps/mach/hurd/net/if_ppp.h, sysdeps/unix/sysv/linux/net/if_ppp.h
* sysdeps/unix/sysv/linux/sys/acct.h
* include/arpa/nameser.h, include/resolv.h:
Fix indentation disrupted by mechanical edits.
* inet/protocols/talkd.h, resolv/arpa/nameser.h
* sysdeps/generic/netinet/in_systm.h
* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
* sysdeps/gnu/netinet/udp.h
* sysdeps/unix/sysv/linux/net/ethernet.h
* sysdeps/unix/sysv/linux/net/if_arp.h
* sysdeps/unix/sysv/linux/net/if_ppp.h
* sysdeps/unix/sysv/linux/net/if_shaper.h
* sysdeps/unix/sysv/linux/netinet/if_fddi.h
* sysdeps/unix/sysv/linux/netinet/if_tr.h
* sysdeps/unix/sysv/linux/netipx/ipx.h
* sysdeps/unix/sysv/linux/sys/acct.h
Include stdint.h for uintNN_t definitions.
Don't include sys/cdefs.h, features.h, or asm/types.h directly.
|
10 years ago |
|
|
cb765808fb |
Installed-header hygiene (BZ#20366): Simple self-contained fixes.
Some headers did not include all of their prerequisite headers. * rpcsvc/nislib.h: Include rpcsvc/nis.h. * sysdeps/unix/sysv/linux/netrose/rose.h: Include sys/socket.h and netax25/ax25.h. <endian.h> only defines BYTE_ORDER, BIG_ENDIAN, LITTLE_ENDIAN, etc. under __USE_MISC; glibc's headers should use __BYTE_ORDER, __BIG_ENDIAN, __LITTLE_ENDIAN, etc. instead. * inet/netinet/icmp6.h, inet/netinet/ip6.h * resolv/arpa/nameser_compat.h: Use __BYTE_ORDER etc. instead of BYTE_ORDER etc. sys/types.h only conditionally defines caddr_t and clockid_t. * sysdeps/unix/sysv/linux/sys/quota.h: Use __caddr_t instead of caddr_t. * sysdeps/unix/sysv/linux/sys/timerfd.h: Use __clockid_t instead of clockid_t. Remove a #warning that was the sole actual problem with using sys/ipc.h without _GNU_SOURCE/_XOPEN_SOURCE. * sysvipc/sys/ipc.h: Remove unnecessary #warning. _LIBC, __USE_XOPEN2K8, and __STDC_VERSION__ are not always defined. It seems to me that _LIBC should not appear in installed headers, but avoiding that for argp specifically would require more surgery than feels appropriate for this patch set. It's possible that "#ifdef _LIBC" would be sufficient, but I wanted to be conservative. All three versions of bits/socket.h want to know whether __flexarr will produce a real flexible array member -- specifically, one that doesn't alter sizeof(the structure containing it). They were testing for this with a complicated #if condition that did not agree with sys/cdefs.h and that tripped -Wundef warnings under -std=c90. I added a new macro to sys/cdefs.h, __glibc_c99_flexarr_available, which reveals exactly what these headers want to know. I also took the opportunity to flatten the rather messy conditional nest defining __flexarr. * argp/argp.h: Check whether _LIBC is defined before expanding it. * posix/glob.h: Check whether __USE_XOPEN2K8 is defined instead of expanding it. * misc/sys/cdefs.h: Tidy up conditional nest defining __flexarr. Define __glibc_c99_flexarr_available to 1 when the compiler supports C99-compatible flexible array members, 0 otherwise. * sysdeps/unix/sysv/linux/bits/socket.h * sysdeps/mach/hurd/bits/socket.h * bits/socket.h: Use __glibc_c99_flexarr_available in definitions of struct cmsghdr and CMSG_DATA. |
10 years ago |
|
|
ec94343f59 |
Add femode_t functions.
TS 18661-1 defines a type femode_t to represent the set of dynamic floating-point control modes (such as the rounding mode and trap enablement modes), and functions fegetmode and fesetmode to manipulate those modes (without affecting other state such as the raised exception flags) and a corresponding macro FE_DFL_MODE. This patch series implements those interfaces for glibc. This first patch adds the architecture-independent pieces, the x86 and x86_64 implementations, and the <bits/fenv.h> and ABI baseline updates for all architectures so glibc keeps building and passing the ABI tests on all architectures. Subsequent patches add the fegetmode and fesetmode implementations for other architectures. femode_t is generally an integer type - the same type as fenv_t, or as the single element of fenv_t where fenv_t is a structure containing a single integer (or the single relevant element, where it has elements for both status and control registers) - except where architecture properties or consistency with the fenv_t implementation indicate otherwise. FE_DFL_MODE follows FE_DFL_ENV in whether it's a magic pointer value (-1 cast to const femode_t *), a value that can be distinguished from valid pointers by its high bits but otherwise contains a representation of the desired register contents, or a pointer to a constant variable (the powerpc case; __fe_dfl_mode is added as an exported constant object, an alias to __fe_dfl_env). Note that where architectures (that share a register between control and status bits) gain definitions of new floating-point control or status bits in future, the implementations of fesetmode for those architectures may need updating (depending on whether the new bits are control or status bits and what the implementation does with previously unknown bits), just like existing implementations of <fenv.h> functions that take care not to touch reserved bits may need updating when the set of reserved bits changes. (As any new bits are outside the scope of ISO C, that's just a quality-of-implementation issue for supporting them, not a conformance issue.) As with fenv_t, femode_t should properly include any software DFP rounding mode (and for both fenv_t and femode_t I'd consider that fragment of DFP support appropriate for inclusion in glibc even in the absence of the rest of libdfp; hardware DFP rounding modes should already be included if the definitions of which bits are status / control bits are correct). Tested for x86_64, x86, mips64 (hard float, and soft float to test the fallback version), arm (hard float) and powerpc (hard float, soft float and e500). Other architecture versions are untested. * math/fegetmode.c: New file. * math/fesetmode.c: Likewise. * sysdeps/i386/fpu/fegetmode.c: Likewise. * sysdeps/i386/fpu/fesetmode.c: Likewise. * sysdeps/x86_64/fpu/fegetmode.c: Likewise. * sysdeps/x86_64/fpu/fesetmode.c: Likewise. * math/fenv.h: Update comment on inclusion of <bits/fenv.h>. [__GLIBC_USE (IEC_60559_BFP_EXT)] (fegetmode): New function declaration. [__GLIBC_USE (IEC_60559_BFP_EXT)] (fesetmode): Likewise. * bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/aarch64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/alpha/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/arm/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/hppa/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/ia64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/m68k/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/microblaze/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/mips/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/nios2/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/powerpc/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (__fe_dfl_mode): New variable declaration. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/s390/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/sh/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/sparc/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/tile/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * sysdeps/x86/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (femode_t): New typedef. [__GLIBC_USE (IEC_60559_BFP_EXT)] (FE_DFL_MODE): New macro. * manual/arith.texi (FE_DFL_MODE): Document macro. (fegetmode): Document function. (fesetmode): Likewise. * math/Versions (fegetmode): New libm symbol at version GLIBC_2.25. (fesetmode): Likewise. * math/Makefile (libm-support): Add fegetmode and fesetmode. (tests): Add test-femode and test-femode-traps. * math/test-femode-traps.c: New file. * math/test-femode.c: Likewise. * sysdeps/powerpc/fpu/fenv_const.c (__fe_dfl_mode): Declare as alias for __fe_dfl_env. * sysdeps/powerpc/nofpu/fenv_const.c (__fe_dfl_mode): Likewise. * sysdeps/powerpc/powerpc32/e500/nofpu/fenv_const.c (__fe_dfl_mode): Likewise. * sysdeps/powerpc/Versions (__fe_dfl_mode): New libm symbol at version GLIBC_2.25. * sysdeps/nacl/libm.abilist: Update. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. |
10 years ago |
|
|
412cb261b0 |
Support __STDC_WANT_IEC_60559_FUNCS_EXT__ feature test macro.
This patch implements support for the __STDC_WANT_IEC_60559_FUNCS_EXT__ feature test macro, following the __GLIBC_USE approach used for other ISO C feature test macros. Currently this only affects the exp10 functions (which glibc has had for a long time). Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_FUNCS_EXT): New macro. * include/features.h (__STDC_WANT_IEC_60559_FUNCS_EXT__): Document. * manual/creature.texi (__STDC_WANT_IEC_60559_FUNCS_EXT__): Document macro. * manual/math.texi (exp10): Document as ISO from TS 18661-4:2015. (exp10f): Likewise. (exp10l): Likewise. * math/bits/mathcalls.h (exp10): Declare if [__GLIBC_USE (IEC_60559_FUNCS_EXT)], not [__USE_GNU]. |
10 years ago |
|
|
63eb8df85a |
Minimize sysdeps code involved in defining major/minor/makedev.
Presently sys/sysmacros.h is entirely defined in sysdeps. This would
mean that the deprecation logic coming up in the next patch would have
to be written twice (in generic/ and unix/sysv/linux/). To avoid that,
hoist all but the unavoidably system-dependent logic to misc/, leaving a
bits/ header behind. This also promotes the Linux-specific encoding of
dev_t, which accommodates 32-bit major and minor numbers in a 64-bit dev_t,
to generic, as glibc's dev_t is always 64 bits wide.
The former Linux implementation used inline functions to avoid evaluating
arguments more than once. After this change, all platforms use inline
functions, which means that three new symbols are added to the generic ABI.
(These symbols are in the user namespace, which is how they have always
been on Linux. They begin with "gnu_dev_", so collisions with user code
are pretty unlikely.)
New ports henceforth need only provide a bits/sysmacros.h defining
internal macros __SYSMACROS_{DECLARE,DEFINE}_{MAJOR,MINOR,MAKEDEV}.
This is only necessary if the kernel encoding is incompatible with
the now-generic encoding (for instance, it would be necessary for
FreeBSD).
While I was at it, I added a basic round-trip test for these functions.
* sysdeps/generic/sys/sysmacros.h: Delete file.
* sysdeps/unix/sysv/linux/makedev.c: Delete file.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Move file ...
* bits/sysmacros.h: ... here; this encoding is now the generic
encoding. Now defines only the following macros:
__SYSMACROS_DECLARE_MAJOR, __SYSMACROS_DEFINE_MAJOR,
__SYSMACROS_DECLARE_MINOR, __SYSMACROS_DEFINE_MINOR,
__SYSMACROS_DECLARE_MAKEDEV, __SYSMACROS_DEFINE_MAKEDEV.
* misc/sys/sysmacros.h, misc/makedev.c: New files that use
bits/sysmacros.h and the above new macros to generate the
public implementations of major, minor, and makedev.
* misc/tst-makedev.c: New test.
* include/sys/sysmacros.h: New wrapper.
* misc/Makefile (headers): Add sys/sysmacros.h, bits/sysmacros.h.
(routines): Add makedev.
(tests): Add tst-makedev.
* misc/Versions [GLIBC_2.25]: Add gnu_dev_major, gnu_dev_minor,
gnu_dev_makedev.
* posix/Makefile (headers): Remove sys/sysmacros.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove makedev.
* sysdeps/arm/nacl/libc.abilist: Add GLIBC_2.25,
gnu_dev_major, gnu_dev_makedev, gnu_dev_minor.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist
* sysdeps/unix/sysv/linux/alpha/libc.abilist
* sysdeps/unix/sysv/linux/arm/libc.abilist
* sysdeps/unix/sysv/linux/hppa/libc.abilist
* sysdeps/unix/sysv/linux/i386/libc.abilist
* sysdeps/unix/sysv/linux/ia64/libc.abilist
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
* sysdeps/unix/sysv/linux/microblaze/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
* sysdeps/unix/sysv/linux/nios2/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
* sysdeps/unix/sysv/linux/sh/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist:
Add GLIBC_2.25.
|
10 years ago |
|
|
bf91be88ea |
Support __STDC_WANT_IEC_60559_BFP_EXT__ feature test macro.
This patch implements support for the __STDC_WANT_IEC_60559_BFP_EXT__ feature test macro from ISO/IEC 18661-1:2014, following the __GLIBC_USE approach now used for __STDC_WANT_LIB_EXT2__. For this macro, the relevant consideration is whether it is defined or undefined when an affected header is included (not what its value is if defined, and not whether it's defined or undefined when any other unaffected system header is included). Currently this macro only affects the issignaling macro and the nextup and nextdown functions (so they can be enabled by defining this macro, not just by defining _GNU_SOURCE as previously). Any further features from this TS added in future would also be conditioned on this macro. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): New macro. * include/features.h (__STDC_WANT_IEC_60559_BFP_EXT__): Document. * manual/arith.texi (issignaling): Document as ISO from TS 18661-1:2014. (nextup): Likewise. (nextupf): Likewise. (nextupl): Likewise. (nextdown): Likewise. (nextdownf): Likewise. (nextdownl): Likewise. * manual/creature.texi (__STDC_WANT_IEC_60559_BFP_EXT__): Document macro. * math/math.h: Define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include <bits/libc-header-start.h> instead of including <features.h>. (issignaling): Define if [__GLIBC_USE (IEC_60559_BFP_EXT)], not [__USE_GNU]. * math/bits/mathcalls.h (nextdown): Declare if [__GLIBC_USE (IEC_60559_BFP_EXT)], not [__USE_GNU]. (nextup): Likewise. (__issignaling): Likewise. |
10 years ago |
|
|
487890009e |
Support __STDC_WANT_LIB_EXT2__ feature test macro.
This patch implements support for the __STDC_WANT_LIB_EXT2__ feature test macro from ISO/IEC TR 24731-2:2010, thereby implementing one possible approach for supporting ISO C feature test macros. Recall that, as described in <https://sourceware.org/ml/libc-alpha/2016-05/msg00486.html>, these macros work based on the definition when affected headers are included, so cannot be handled once when the first system header is included because that might not be one of the headers the particular macro in question affects. <https://sourceware.org/ml/libc-alpha/2016-05/msg00680.html> expresses views on possible approaches for implementation and <https://sourceware.org/ml/libc-alpha/2016-06/msg00039.html> follows up on that. This patch arranges things so that the relevant condition is __GLIBC_USE (LIB_EXT2), following one of the suggestions given. Headers using these macros include <bits/libc-header-start.h>, which in turn includes <features.h>. Headers must define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION before including <bits/libc-header-start.h>, to discourage inclusion outside glibc as requested. __USE_GNU conditions on affected functions are changed to __GLIBC_USE (LIB_EXT2), while it's added as an additional alternative on the conditions for functions already enabled for some POSIX versions. It would be possible to convert existing __USE_* conditionals to __GLIBC_USE (with the relevant __GLIBC_USE_* being defined in <features.h> where __USE_* are presently defined), and so make them typo-proof (given -Wundef -Werror in glibc builds) because __GLIBC_USE is used with #if not #ifdef / #if defined. No attempt is made to enforce the rule about diagnosing different definitions of __STDC_WANT_LIB_EXT2__ when affected headers are included; such a diagnostic is incompatible with multiple-include guards on the affected headers, unless compiler extensions are added to support it. As previously noted, glibc does not implement all features from TR 24731-2:2010: the functions aswprintf vaswprintf getwdelim getwline are not in glibc, although they would be appropriate to add if someone wished to do so. But I think it makes sense to support the feature test macro if *any* of the controlled features are present in glibc. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/libc-header-start.h: New file. * Makefile (headers): Add bits/libc-header-start.h. * include/features.h (__STDC_WANT_LIB_EXT2__): Document. (__GLIBC_USE): New macro. * libio/stdio.h: Define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include <bits/libc-header-start.h> instead of including <features.h>. (fmemopen): Declare also if [__GLIBC_USE (LIB_EXT2)]. (open_memstream): Likewise. (vasprintf): Declare if [__GLIBC_USE (LIB_EXT2)], not [__USE_GNU]. (__asprintf): Likewise. (asprintf): Likewise. (__getdelim): Declare also if [__GLIBC_USE (LIB_EXT2)]. (getdelim): Likewise. (getline): Likewise. * string/string.h: Define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include <bits/libc-header-start.h> instead of including <features.h>. (strdup): Declare also if [__GLIBC_USE (LIB_EXT2)] (strndup): Likewise. * wcsmbs/wchar.h: Define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include <bits/libc-header-start.h> instead of including <features.h>. (open_wmemstream): Declare also if [__GLIBC_USE (LIB_EXT2)]. * manual/creature.texi (__STDC_WANT_LIB_EXT2__): Document macro. |
10 years ago |
|
|
2b6dbe669f |
Fix TABDLY value
* bits/termios.h (TABDLY): Change macro to include TAB3 bit too. |
10 years ago |
|
|
be4830bf94 |
Define __USE_KERNEL_IPV6_DEFS macro for non-Linux kernels
Commit
|
10 years ago |
|
|
fb147996fa |
Move sysdeps/generic/bits/hwcap.h to top-level bits/
This file was added to sysdeps/generic/bits in 2012. This appears to have been an oversight, as the entire sysdeps/generic/bits directory was moved to the top level in 2005. Accordingly the generic bits/hwcap.h belongs there too. * sysdeps/generic/bits/hwcap.h: Moved to ... * bits/hwcap.h: Here. |
10 years ago |
|
|
3375cfafa7 |
Make padding in struct sockaddr_storage explicit [BZ #20111]
This avoids aliasing issues with GCC 6 in -fno-strict-aliasing mode. (With implicit padding, not all data is copied.) This change makes it explicit that struct sockaddr_storage is only 126 bytes large on m68k (unlike elsewhere, where we end up with the requested 128 bytes). The new test case makes sure that this does not happen on other architectures. |
10 years ago |
|
|
d454fd21f4 |
non-linux: Apply RFC3542 obsoletion of RFC2292 macros
(IPV6_RECVHOPLIMIT, IPV6_HOPLIMIT, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RECVPATHMTU, IPV6_PATHMTU, IPV6_DONTFRAG): New macros. |
10 years ago |
|
|
2a517d91af |
non-linux: Apply RFC3542 obsoletion of RFC2292 macros
RFC2292 macros were obsoleted by RFC3542, and should not be exposed any more. Notably since IPV6_PKTINFO has been reintroduced with a completely different API. * bits/in.h (IPV6_PKTINFO): Rename to IPV6_2292PKTINFO. (IPV6_HOPOPTS): Rename to IPV6_2292HOPOPTS. (IPV6_DSTOPTS): Rename to IPV6_2292DSTOPTS. (IPV6_RTHDR): Rename to IPV6_2292RTHDR. (IPV6_PKTOPTIONS): Rename to IPV6_2292PKTOPTIONS. (IPV6_HOPLIMIT): Rename to IPV6_2292HOPLIMIT. (IPV6_RECVPKTINFO): New macro. (IPV6_PKTINFO): New macro. |
10 years ago |
|
|
b49ab5f450 |
Remove union wait [BZ #19613]
The overloading approach in the W* macros was incompatible with integer expressions of a type different from int. Applications using union wait and these macros will have to migrate to the POSIX-specified int status type. |
10 years ago |
|
|
981569c74c |
Update glibc headers for Linux 4.5.
This patch updates the glibc headers with the defines MADV_FREE, IPV6_HDRINCL and EPOLLEXCLUSIVE that are added in Linux 4.5. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/mman-linux.h [__USE_MISC] (MADV_FREE): New macro. * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] (MADV_FREE): Likewise. * sysdeps/unix/sysv/linux/bits/in.h (IPV6_HDRINCL): Likewise. * sysdeps/unix/sysv/linux/sys/epoll.h (enum EPOLL_EVENTS): Add EPOLLEXCLUSIVE. |
10 years ago |
|
|
16396c41de |
Add _STRING_INLINE_unaligned and string_private.h
As discussed in https://sourceware.org/ml/libc-alpha/2015-10/msg00403.html the setting of _STRING_ARCH_unaligned currently controls the external GLIBC ABI as well as selecting the use of unaligned accesses withing GLIBC. Since _STRING_ARCH_unaligned was recently changed for AArch64, this would potentially break the ABI in GLIBC 2.23, so split the uses and add _STRING_INLINE_unaligned to select the string ABI. This setting must be fixed for each target, while _STRING_ARCH_unaligned may be changed from release to release. _STRING_ARCH_unaligned is used unconditionally in glibc. But <bits/string.h>, which defines _STRING_ARCH_unaligned, isn't included with -Os. Since _STRING_ARCH_unaligned is internal to glibc and may change between glibc releases, it should be made private to glibc. _STRING_ARCH_unaligned should defined in the new string_private.h heade file which is included unconditionally from internal <string.h> for glibc build. [BZ #19462] * bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * include/string.h: Include <string_private.h>. * string/bits/string2.h: Replace _STRING_ARCH_unaligned with _STRING_INLINE_unaligned. * sysdeps/aarch64/bits/string.h (_STRING_ARCH_unaligned): Removed. (_STRING_INLINE_unaligned): New. * sysdeps/aarch64/string_private.h: New file. * sysdeps/generic/string_private.h: Likewise. * sysdeps/m68k/m680x0/m68020/string_private.h: Likewise. * sysdeps/s390/string_private.h: Likewise. * sysdeps/x86/string_private.h: Likewise. * sysdeps/m68k/m680x0/m68020/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/s390/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/sparc/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/x86/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. |
10 years ago |
|
|
fb53a27c57 |
Add new header definitions from Linux 4.4 (plus older ptrace definitions).
This patch adds some new header definitions from Linux 4.4: * MCL_ONFAULT is added to bits/mman.h / bits/mman-linux.h (this was already done for hppa). * PTRACE_SECCOMP_GET_FILTER is added to sys/ptrace.h. Along with it, the older PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, added in Linux 3.11 but missed at the time, are also added. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * bits/mman-linux.h [!MCL_CURRENT] (MCL_ONFAULT): New macro. * sysdeps/unix/sysv/linux/alpha/bits/mman.h (MCL_ONFAULT): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MCL_ONFAULT): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/mman.h (MCL_ONFAULT): Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_GETSIGMASK): New enum constant and macro. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/s390/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. * sysdeps/unix/sysv/linux/tile/sys/ptrace.h (PTRACE_GETSIGMASK): Likewise. (PTRACE_SETSIGMASK): Likewise. (PTRACE_SECCOMP_GET_FILTER): Likewise. |
10 years ago |
|
|
f7a9f785e5 |
Update copyright dates with scripts/update-copyrights.
|
10 years ago |
|
|
7635a88d32 |
Add __CPU_MASK_TYPE for __cpu_mask
Since x86-64 and x32 use the same set of sched_XXX system call interface: [hjl@gnu-6 linux-stable]$ grep sched_ arch/x86/entry/syscalls/syscall_64.tbl 24 common sched_yield sys_sched_yield 142 common sched_setparam sys_sched_setparam 143 common sched_getparam sys_sched_getparam 144 common sched_setscheduler sys_sched_setscheduler 145 common sched_getscheduler sys_sched_getscheduler 146 common sched_get_priority_max sys_sched_get_priority_max 147 common sched_get_priority_min sys_sched_get_priority_min 148 common sched_rr_get_interval sys_sched_rr_get_interval 203 common sched_setaffinity sys_sched_setaffinity 204 common sched_getaffinity sys_sched_getaffinity 314 common sched_setattr sys_sched_setattr 315 common sched_getattr sys_sched_getattr [hjl@gnu-6 linux-stable]$ __cpu_mask should be unsigned long long, instead of unsigned long, for x32. This patch adds __CPU_MASK_TYPE so that each architecture can define the proper type for __cpu_mask. [BZ #19313] * bits/typesizes.h (__CPU_MASK_TYPE): New. * sysdeps/mach/hurd/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/nacl/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/generic/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/s390/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/x86/bits/typesizes.h (__CPU_MASK_TYPE): * sysdeps/unix/sysv/linux/bits/sched.h (__cpu_mask): Replace unsigned long int with __CPU_MASK_TYPE. |
11 years ago |
|
|
de071d199a |
Move bits/atomic.h to atomic-machine.h (bug 14912).
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/atomic.h to atomic-machine.h to follow that convention. This is the only change in this series that needs to change the filename rather than simply removing a directory level (because both atomic.h and bits/atomic.h exist at present). Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * sysdeps/aarch64/bits/atomic.h: Move to ... * sysdeps/aarch64/atomic-machine.h: ...here. (_AARCH64_BITS_ATOMIC_H): Rename macro to _AARCH64_ATOMIC_MACHINE_H. * sysdeps/alpha/bits/atomic.h: Move to ... * sysdeps/alpha/atomic-machine.h: ...here. * sysdeps/arm/bits/atomic.h: Move to ... * sysdeps/arm/atomic-machine.h: ...here. Update comments. * bits/atomic.h: Move to ... * sysdeps/generic/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/i386/bits/atomic.h: Move to ... * sysdeps/i386/atomic-machine.h: ...here. * sysdeps/ia64/bits/atomic.h: Move to ... * sysdeps/ia64/atomic-machine.h: ...here. * sysdeps/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/m68k/m680x0/m68020/bits/atomic.h: Move to ... * sysdeps/m68k/m680x0/m68020/atomic-machine.h: ...here. * sysdeps/microblaze/bits/atomic.h: Move to ... * sysdeps/microblaze/atomic-machine.h: ...here. * sysdeps/mips/bits/atomic.h: Move to ... * sysdeps/mips/atomic-machine.h: ...here. (_MIPS_BITS_ATOMIC_H): Rename macro to _MIPS_ATOMIC_MACHINE_H. * sysdeps/powerpc/bits/atomic.h: Move to ... * sysdeps/powerpc/atomic-machine.h: ...here. Update comments. * sysdeps/powerpc/powerpc32/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc32/atomic-machine.h: ...here. Update comments. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/powerpc/powerpc64/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc64/atomic-machine.h: ...here. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/s390/bits/atomic.h: Move to ... * sysdeps/s390/atomic-machine.h: ...here. * sysdeps/sparc/sparc32/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/sparcv9/atomic-machine.h: ...here. * sysdeps/sparc/sparc64/bits/atomic.h: Move to ... * sysdeps/sparc/sparc64/atomic-machine.h: ...here. * sysdeps/tile/bits/atomic.h: Move to ... * sysdeps/tile/atomic-machine.h: ...here. * sysdeps/tile/tilegx/bits/atomic.h: Move to ... * sysdeps/tile/tilegx/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/tile/tilepro/bits/atomic.h: Move to ... * sysdeps/tile/tilepro/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/arm/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/arm/atomic-machine.h: ...here. Include <sysdeps/arm/atomic-machine.h> instead of <sysdeps/arm/bits/atomic.h>. * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/nios2/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/nios2/atomic-machine.h: ...here. (_NIOS2_BITS_ATOMIC_H): Rename macro to _NIOS2_ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/sh/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/sh/atomic-machine.h: ...here. * sysdeps/x86_64/bits/atomic.h: Move to ... * sysdeps/x86_64/atomic-machine.h: ...here. * include/atomic.h: Include <atomic-machine.h> instead of <bits/atomic.h>. |
11 years ago |
|
|
ec999b8e5e |
Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/libc-lock.h to plain libc-lock.h and bits/libc-lockP.h to plain libc-lockP.h to follow that convention. Note that I don't know where libc-lockP.h comes from for Hurd (the Hurd libc-lock.h includes libc-lockP.h, but the only libc-lockP.h in the glibc source tree is for NPTL) - some unmerged patch? - but I updated the #include in the Hurd libc-lock.h anyway. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * bits/libc-lock.h: Move to ... * sysdeps/generic/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/mach/hurd/bits/libc-lock.h: Move to ... * sysdeps/mach/hurd/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. [_LIBC]: Include <libc-lockP.h> instead of <bits/libc-lockP.h>. * sysdeps/mach/bits/libc-lock.h: Move to ... * sysdeps/mach/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/nptl/bits/libc-lock.h: Move to ... * sysdeps/nptl/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/nptl/bits/libc-lockP.h: Move to ... * sysdeps/nptl/libc-lockP.h: ...here. (_BITS_LIBC_LOCKP_H): Rename macro to _LIBC_LOCKP_H. * crypt/crypt_util.c: Include <libc-lock.h> instead of <bits/libc-lock.h>. * dirent/scandir-tail.c: Likewise. * dlfcn/dlerror.c: Likewise. * elf/dl-close.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-writev.h: Likewise. * elf/rtld.c: Likewise. * grp/fgetgrent.c: Likewise. * gshadow/fgetsgent.c: Likewise. * gshadow/sgetsgent.c: Likewise. * iconv/gconv_conf.c: Likewise. * iconv/gconv_db.c: Likewise. * iconv/gconv_dl.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_trans.c: Likewise. * include/link.h: Likewise. * inet/getnameinfo.c: Likewise. * inet/getnetgrent.c: Likewise. * inet/getnetgrent_r.c: Likewise. * intl/bindtextdom.c: Likewise. * intl/dcigettext.c: Likewise. * intl/finddomain.c: Likewise. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise. * intl/localealias.c: Likewise. * intl/textdomain.c: Likewise. * libidn/idn-stub.c: Likewise. * libio/libioP.h: Likewise. * locale/duplocale.c: Likewise. * locale/freelocale.c: Likewise. * locale/newlocale.c: Likewise. * locale/setlocale.c: Likewise. * login/getutent_r.c: Likewise. * login/getutid_r.c: Likewise. * login/getutline_r.c: Likewise. * login/utmp-private.h: Likewise. * login/utmpname.c: Likewise. * malloc/mtrace.c: Likewise. * misc/efgcvt.c: Likewise. * misc/error.c: Likewise. * misc/fstab.c: Likewise. * misc/getpass.c: Likewise. * misc/mntent.c: Likewise. * misc/syslog.c: Likewise. * nis/nis_call.c: Likewise. * nis/nis_callback.c: Likewise. * nis/nss-default.c: Likewise. * nis/nss_compat/compat-grp.c: Likewise. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-ethers.c: Likewise. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. * nis/nss_nis/nis-spwd.c: Likewise. * nis/nss_nisplus/nisplus-alias.c: Likewise. * nis/nss_nisplus/nisplus-ethers.c: Likewise. * nis/nss_nisplus/nisplus-grp.c: Likewise. * nis/nss_nisplus/nisplus-hosts.c: Likewise. * nis/nss_nisplus/nisplus-initgroups.c: Likewise. * nis/nss_nisplus/nisplus-network.c: Likewise. * nis/nss_nisplus/nisplus-proto.c: Likewise. * nis/nss_nisplus/nisplus-pwd.c: Likewise. * nis/nss_nisplus/nisplus-rpc.c: Likewise. * nis/nss_nisplus/nisplus-service.c: Likewise. * nis/nss_nisplus/nisplus-spwd.c: Likewise. * nis/ypclnt.c: Likewise. * nptl/libc_pthread_init.c: Likewise. * nss/getXXbyYY.c: Likewise. * nss/getXXent.c: Likewise. * nss/getXXent_r.c: Likewise. * nss/nss_db/db-XXX.c: Likewise. * nss/nss_db/db-netgrp.c: Likewise. * nss/nss_db/nss_db.h: Likewise. * nss/nss_files/files-XXX.c: Likewise. * nss/nss_files/files-alias.c: Likewise. * nss/nsswitch.c: Likewise. * posix/regex_internal.h: Likewise. * posix/wordexp.c: Likewise. * pwd/fgetpwent.c: Likewise. * resolv/res_hconf.c: Likewise. * resolv/res_libc.c: Likewise. * shadow/fgetspent.c: Likewise. * shadow/lckpwdf.c: Likewise. * shadow/sgetspent.c: Likewise. * socket/opensock.c: Likewise. * stdio-common/reg-modifier.c: Likewise. * stdio-common/reg-printf.c: Likewise. * stdio-common/reg-type.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdio-common/vfscanf.c: Likewise. * stdlib/abort.c: Likewise. * stdlib/cxa_atexit.c: Likewise. * stdlib/fmtmsg.c: Likewise. * stdlib/random.c: Likewise. * stdlib/setenv.c: Likewise. * string/strsignal.c: Likewise. * sunrpc/auth_none.c: Likewise. * sunrpc/bindrsvprt.c: Likewise. * sunrpc/create_xid.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/rpc_thread.c: Likewise. * sysdeps/arm/backtrace.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/stdio-lock.h: Likewise. * sysdeps/generic/unwind-dw2-fde.c: Likewise. * sysdeps/i386/backtrace.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Likewise. * sysdeps/m68k/backtrace.c: Likewise. * sysdeps/mach/hurd/cthreads.c: Likewise. * sysdeps/mach/hurd/dirstream.h: Likewise. * sysdeps/mach/hurd/malloc-machine.h: Likewise. * sysdeps/nptl/malloc-machine.h: Likewise. * sysdeps/nptl/stdio-lock.h: Likewise. * sysdeps/posix/dirstream.h: Likewise. * sysdeps/posix/getaddrinfo.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/pthread/aio_suspend.c: Likewise. * sysdeps/s390/s390-32/backtrace.c: Likewise. * sysdeps/s390/s390-64/backtrace.c: Likewise. * sysdeps/unix/sysv/linux/check_pf.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: Likewise. * sysdeps/unix/sysv/linux/shm-directory.c: Likewise. * sysdeps/unix/sysv/linux/system.c: Likewise. * sysdeps/x86_64/backtrace.c: Likewise. * time/alt_digit.c: Likewise. * time/era.c: Likewise. * time/tzset.c: Likewise. * wcsmbs/wcsmbsload.c: Likewise. * nptl/tst-initializers1.c (do_test): Refer to <libc-lock.h> instead of <bits/libc-lock.h> in comment. |
11 years ago |