Commit fd9f509d6d

Andrew Kelley <andrew@ziglang.org>
2020-08-25 00:19:34
Revert "Merge pull request #6137 from Jan200101/update/glibc-2.32"
This reverts commit bb9c3118ed5fdc16b8e2d9882375005c2a62d0cc, reversing changes made to 7015d84e0ca6f02fede45621571084df98dda712. This is missing quite a few headers
1 parent 140c599
Changed files (246)
lib
libc
glibc
include
aarch64-linux-gnu
aarch64_be-linux-gnu
arm-linux-gnueabi
arm-linux-gnueabihf
armeb-linux-gnueabi
armeb-linux-gnueabihf
generic-glibc
i386-linux-gnu
mips-linux-gnu
mips64-linux-gnuabi64
mips64-linux-gnuabin32
mips64el-linux-gnuabi64
mips64el-linux-gnuabin32
mipsel-linux-gnu
powerpc-linux-gnu
powerpc64-linux-gnu
powerpc64le-linux-gnu
riscv64-linux-gnu
s390x-linux-gnu
sparc-linux-gnu
sparcv9-linux-gnu
x86_64-linux-gnu
x86_64-linux-gnux32
lib/libc/glibc/abi.txt
@@ -200,9 +200,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
-
 29
 
 
@@ -231,8 +229,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 
-
-
 29
 29
 29
@@ -241,83 +237,47 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
-
 29
 29
 29
-
-
 29
 29
 29
 29
 
 29
-
 29
 29
 
 29
-
 29
 
 
 
-
 29
 29
 29
 29
 29
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 29
 29
-
 29
 29
-
 29
-
 29
 29
 
 29
 29
-
 29
-
 29
 
 29
-
 29
 
 
 
 
-
-
-
-
-
-
-
-
-
 29
 29
 
@@ -341,50 +301,29 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 29
-
-
 29
 29
 29
 29
 
 
-
-
-
 29
-
-
-
 29
 
 29
-
 29
 29
 
 29
-
 29
 29
 
 29
 
-
 29
 35
 
 
-
-
-
-
-
-
-
-
-
-
 29
 29
 29
@@ -395,7 +334,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 
-
 29
 29
 29
@@ -423,16 +361,9 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 
-
-
-
-
-
-
 29
 
 29
-
 29
 29
 29
@@ -441,8 +372,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
 29
 29
 
@@ -452,17 +381,10 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
-
-
 29
 29
-
-
 29
 29
-
 29
 29
 29
@@ -482,7 +404,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
 29
 29
 29
@@ -498,9 +419,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
-
 29
 29
 29
@@ -524,29 +443,17 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 29
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
-
 29
 29
 30
@@ -574,29 +481,23 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
 29
 
 29
-
 29
 29
 
 29
-
 29
 29
 29
 29
 
 
-
 29
 
 29
-
-
 29
 29
 29
@@ -612,34 +513,23 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-42
 29
 29
 29
 
-
-
-
 29
 
 29
-
 29
-
 29
 
 29
-
 29
 29
 
-
 29
-
 29
 29
-
-
 29
 
 
@@ -678,26 +568,17 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 
-
 29
 29
 29
 
 
-
 29
 
 
 
 
-
 29
-
-
-
-
-
-
 29
 
 
@@ -810,11 +691,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
 29
-
-
 29
 29
 29
@@ -830,7 +707,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
 
 29
@@ -838,10 +714,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
 29
-
-
 29
 29
 29
@@ -872,11 +745,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
-
-
-
 29
 29
 29
@@ -895,17 +763,12 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
-
 29
 29
 29
 29
 29
-
-
-
 29
 29
 29
@@ -913,11 +776,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
 29
-
-
-
 29
 29
 29
@@ -931,8 +790,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
 29
 29
 29
@@ -943,34 +800,24 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 29
 33
-
 29
 29
 29
 
 
 
-
 29
 
 29
-
 29
-
 29
-
-
 29
-
-
 29
 
 
 29
-
 29
 
-
 29
 29
 29
@@ -1003,9 +850,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
-
 29
 
 29
@@ -1040,8 +884,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 29
 29
-
-
 29
 29
 29
@@ -1061,93 +903,48 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 
 29
-
-
-
 29
 
 29
-
-
 29
-
-
-
 29
 29
 
 
 29
 29
-
-
 29
 29
 29
 29
 29
 
-
 29
 29
 
 
 29
 
-
-
 29
 
 
 29
 29
-
-
 29
-
-
-
-
 29
 29
-
-
 29
-
 29
-
-
-
 29
-
-
-
 29
 29
-
-
 29
-
-
 29
-
 29
-
-
-
 29
-
-
-
-
 29
-
-
-
 29
 29
-
-
 29
 29
 29
@@ -1166,8 +963,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 
 29
 29
-
-
 29
 29
 29
@@ -1189,10 +984,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
-
 29
-
 29
 29
 29
@@ -1205,17 +997,14 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 
 29
-
 29
 29
 
 29
-
 29
 29
 
 29
-
 29
 29
 29
@@ -1813,7 +1602,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29 39
 29
-29 42
+29
 37
 37
 37
@@ -2939,66 +2728,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-42
-29
-29
-29
-29
-29 42
-29
-29
-29
-29
-29
-29
-42
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-41
-29
-40
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29 42
-30
-29 42
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-40
-29
-29
-29
-29
 29
 29
 29
@@ -3021,10 +2750,9 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+41
 29
 40
-40
-29
 29
 29
 29
@@ -3049,16 +2777,11 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-29 42
-29
-29
-29
-29
-29
 29
 29
 29
 29
+40
 29
 29
 29
@@ -3086,37 +2809,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-36
-29
-36
-29
-29
-29
-29
-29
-29
-29
-29
-29 34
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-
-29
-29
-29
+40
+40
 29
 29
 29
@@ -3129,12 +2823,12 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-36
 29
 29
 29
 29
 29
+30
 29
 29
 29
@@ -3147,11 +2841,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-37
-37
-37
-37
-37
 29
 29
 29
@@ -3159,16 +2848,9 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-37
-37
-37
-37
-37
 29
 29
 29
-38
-
 29
 29
 29
@@ -3178,28 +2860,9 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-37
-37
-37
-37
-37
-29
 29
 29
-35
-35
-37
-37
-37
-37
-37
-35
 29
-37
-37
-37
-37
-37
 29
 29
 29
@@ -3210,25 +2873,18 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+36
 29
+36
 29
 29
 29
 29
-37
-37
-37
-37
-37
 29
 29
 29
-37
-37
-37
-37
-37
 29
+29 34
 29
 29
 29
@@ -3244,13 +2900,13 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+
 29
 29
 29
 29
 29
 29
-40
 29
 29
 29
@@ -3260,6 +2916,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+36
 29
 29
 29
@@ -3277,6 +2934,11 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+37
+37
+37
+37
+37
 29
 29
 29
@@ -3284,9 +2946,16 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+37
+37
+37
+37
+37
 29
 29
 29
+38
+
 29
 29
 29
@@ -3296,6 +2965,11 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+37
+37
+37
+37
+37
 29
 29
 29
@@ -3307,79 +2981,12 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 37
 37
 35
-35
-35
+29
 37
 37
 37
 37
 37
-35
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-42
-29
-29
-29
-29
-29
-29
-42
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
-29
 29
 29
 29
@@ -3402,12 +3009,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 37
 29
 29
-37
-37
-37
-37
-37
-29
 29
 37
 37
@@ -3426,11 +3027,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-37
-37
-37
-37
-37
 29
 29
 29
@@ -3441,10 +3037,10 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+40
 29
 29
 29
-38
 29
 29
 29
@@ -3467,19 +3063,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-42
-42
 29
 29
-35
-35
-37
-37
-37
-37
-37
-35
-29
 29
 29
 29
@@ -3501,16 +3086,27 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+35
+35
 37
 37
 37
 37
 37
+35
+35
+35
 37
 37
 37
 37
 37
+35
+29
+29
+29
+29
+29
 29
 29
 29
@@ -3580,7 +3176,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
 29
 29
 29
@@ -3599,12 +3194,11 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 37
 29
 29
-29
-29
-29
-29
-29
-29
+37
+37
+37
+37
+37
 29
 29
 29
@@ -3623,15 +3217,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 37
 37
 29
-40
-38
-38
-38
-38
-38
-38
-38
-38
 29
 29
 29
@@ -3644,6 +3229,9 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+38
+29
+29
 29
 29
 29
@@ -3653,22 +3241,6 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-35 41
-35 41
-37 41
-37 41
-37 41
-37 41
-37 41
-35 41
-35 41
-35 41
-37 41
-37 41
-37 41
-37 41
-37 41
-35 41
 29
 29
 29
@@ -3682,41 +3254,46 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+35
+35
 37
 37
 37
 37
 37
+35
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
 29
 29
-38
-38
-38
-38
 29
 29
 29
 29
-40
 29
 29
 29
-35
-35
 37
 37
 37
 37
 37
-35
-35
-35
 37
 37
 37
 37
 37
-35
 29
 29
 29
@@ -3756,7 +3333,213 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
-
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+
+29
+29
+29
+29
+37
+37
+37
+37
+37
+29
+29
+37
+37
+37
+37
+37
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+37
+37
+37
+37
+37
+29
+40
+38
+38
+38
+38
+38
+38
+38
+38
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+35 41
+35 41
+37 41
+37 41
+37 41
+37 41
+37 41
+35 41
+35 41
+35 41
+37 41
+37 41
+37 41
+37 41
+37 41
+35 41
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+37
+37
+37
+37
+37
+29
+29
+38
+38
+38
+38
+29
+29
+29
+29
+40
+29
+29
+29
+35
+35
+37
+37
+37
+37
+37
+35
+35
+35
+37
+37
+37
+37
+37
+35
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+29
+
 29
 29
 29
@@ -4159,9 +3942,7 @@ s390x-linux-gnu
 27
 
 27
-
 27
-
 27
 
 
@@ -4190,8 +3971,6 @@ s390x-linux-gnu
 
 
 
-
-
 5
 5
 5
@@ -4200,79 +3979,43 @@ s390x-linux-gnu
 27
 
 27
-
-
 27
 5 16
 20
-
-
 5
 5
 5
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 5
 5
 5
 5
 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 5
 15
-
 5
 5
-
 5 16
-
 5
 5
 
 5
 16
-
 5
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 5
 5
 5
@@ -4300,50 +4043,29 @@ s390x-linux-gnu
 
 
 20
-
-
 5
 5
 5
 5
 
 
-
-
-
 5
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 5
 27
@@ -4353,7 +4075,6 @@ s390x-linux-gnu
 
 
 
-
 39
 5
 16
@@ -4382,16 +4103,9 @@ s390x-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 5
 5
@@ -4400,8 +4114,6 @@ s390x-linux-gnu
 16
 5
 15 16
-
-
 5
 5
 5
@@ -4411,17 +4123,10 @@ s390x-linux-gnu
 5
 5
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 5
 5
 16
@@ -4441,7 +4146,6 @@ s390x-linux-gnu
 16
 5
 5
-
 5
 5
 15
@@ -4457,9 +4161,7 @@ s390x-linux-gnu
 27
 
 27
-
 27
-
 5
 5
 5
@@ -4483,29 +4185,17 @@ s390x-linux-gnu
 
 5 16
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -4533,29 +4223,23 @@ s390x-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
 5
 
 
-
 27
 
 27
-
-
 27
 5
 5
@@ -4571,34 +4255,23 @@ s390x-linux-gnu
 5
 5
 5
-42
 5
 5
 5
-8 11
-
-
-
+11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23 31
-
-
 5
 
 
@@ -4637,26 +4310,17 @@ s390x-linux-gnu
 
 
 
-
 5
 5
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 16
 16
@@ -4769,11 +4433,7 @@ s390x-linux-gnu
 5
 5
 20
-
-
 20
-
-
 5
 5
 19
@@ -4789,7 +4449,6 @@ s390x-linux-gnu
 27
 
 27
-
 27
 
 28
@@ -4797,10 +4456,7 @@ s390x-linux-gnu
 16
 16
 15 16
-
 5 16
-
-
 5
 5
 5
@@ -4831,11 +4487,6 @@ s390x-linux-gnu
 14
 16
 5
-
-
-
-
-
 5
 5
 5
@@ -4854,17 +4505,12 @@ s390x-linux-gnu
 27
 
 27
-
 27
-
 5
 5
 5
 5
 5
-
-
-
 8
 8
 8
@@ -4872,11 +4518,7 @@ s390x-linux-gnu
 5
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -4890,8 +4532,6 @@ s390x-linux-gnu
 5
 5
 5
-
-
 5
 5
 5
@@ -4902,34 +4542,24 @@ s390x-linux-gnu
 
 16
 33
-
 5
 31 5
 5
 
 
 
-
 27
 
 27
-
 27
-
 15 16
-
-
 15 16
-
-
 27
 
 
 27
-
 27
 
-
 16
 
 5
@@ -4962,9 +4592,6 @@ s390x-linux-gnu
 5
 5
 5 16
-
-
-
 12
 
 5
@@ -4999,8 +4626,6 @@ s390x-linux-gnu
 
 5
 5
-
-
 5
 5
 5
@@ -5020,93 +4645,48 @@ s390x-linux-gnu
 
 
 16
-
-
-
 5
 5
 16
-
-
 5
-
-
-
 5
 
 
 12
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 5
 
 
 5
 
-
-
 5
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15 16
-
-
 5 16
-
 16
-
-
-
 15 16
-
-
-
 5 16
 15 16
-
-
 15 16
-
-
 5 16
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 5
 5
-
-
 16
 16
 16
@@ -5125,8 +4705,6 @@ s390x-linux-gnu
 
 5
 5
-
-
 5
 5
 5 16
@@ -5148,10 +4726,7 @@ s390x-linux-gnu
 16
 5
 16
-
-
 5
-
 5
 5
 5
@@ -5164,17 +4739,14 @@ s390x-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
@@ -5772,7 +5344,7 @@ s390x-linux-gnu
 5
 5 39
 5
-5 42
+5
 37
 37
 37
@@ -6898,19 +6470,17 @@ s390x-linux-gnu
 5
 5
 5
-42
 5
 5
 5
 5
-14 15 42
+14 15
 5
 5
 5
 5
 5
 5
-42
 5
 5
 5
@@ -6940,9 +6510,9 @@ s390x-linux-gnu
 5
 5
 5
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -7008,7 +6578,7 @@ s390x-linux-gnu
 5
 15
 5
-5 42
+5
 23
 5
 5
@@ -7313,14 +6883,12 @@ s390x-linux-gnu
 5
 5
 5
-42
 5
 5
 5
 5
 5
 5
-42
 5
 5
 5
@@ -7426,8 +6994,6 @@ s390x-linux-gnu
 5
 18
 5
-42
-42
 5 16
 12 16
 35
@@ -8122,8 +7688,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
-
 16
 16
 16
@@ -8149,8 +7713,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
-
 16
 16
 16
@@ -8160,12 +7722,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
-
 16
 20
-
-
 16
 16
 16
@@ -8173,7 +7731,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
 27
 
 27
@@ -8181,43 +7738,22 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
-
 16
 16
 16
 16
 16
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 16
 16
-
 16
 16
-
 16
-
 16
 16
 
 16
 16
-
 16
-
 27
 
 27
@@ -8226,16 +7762,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
-
-
-
-
-
-
-
-
-
 16
 16
 
@@ -8259,50 +7785,29 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 20
-
-
 16
 16
 16
 16
 
 
-
-
-
 16
-
-
-
 27
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
 
-
 35
 
 
-
-
-
-
-
-
-
-
-
-
 16
 16
 27
@@ -8313,7 +7818,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
 16
 16
 16
@@ -8341,17 +7845,10 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
-
-
-
-
-
 27
 
 27
 
-
 16
 16
 16
@@ -8359,8 +7856,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 16
 16
-
-
 16
 16
 
@@ -8370,17 +7865,10 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
-
-
-
 16
 16
-
-
 16
 16
-
 16
 16
 16
@@ -8400,7 +7888,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
 16
 16
 16
@@ -8417,8 +7904,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
-
 16
 16
 16
@@ -8442,29 +7927,17 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 16
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 16
 16
 30
@@ -8493,29 +7966,23 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 16
 16
 16
 
 
-
 27
 
 27
 
-
-
 16
 16
 16
@@ -8530,34 +7997,23 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-42
 16
 16
 16
 
-
-
-
 27
 
 27
 
-
-
 27
 
 27
 
-
 27
 
-
 27
 
-
 23
-
-
 16
 
 
@@ -8596,26 +8052,17 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 
-
 16
 16
 19
 
 
-
 16
 
 
 
 
-
 16
-
-
-
-
-
-
 16
 
 
@@ -8728,11 +8175,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 20
-
-
 20
-
-
 16
 16
 19
@@ -8750,16 +8193,12 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 27
 
 
-
 28
 16
 16
 16
 16
-
 16
-
-
 16
 16
 16
@@ -8790,11 +8229,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
-
-
-
-
 16
 16
 16
@@ -8814,16 +8248,11 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
-
 16
 16
 16
 16
 16
-
-
-
 16
 16
 16
@@ -8832,10 +8261,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 27
 27
 
-
-
-
-
 19
 18
 19
@@ -8849,8 +8274,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
-
 16
 16
 16
@@ -8861,34 +8284,24 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 33
-
 16
 16
 16
 
 
 
-
 27
 
 27
 
-
-
 16
-
-
 16
-
-
 27
 
 
 27
 
 
-
-
 16
 16
 16
@@ -8921,9 +8334,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
-
-
 16
 
 16
@@ -8958,8 +8368,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 16
 16
-
-
 16
 16
 16
@@ -8979,93 +8387,48 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 
 16
-
-
-
 16
 16
 16
-
-
 16
-
-
-
 16
 16
 
 
 16
 16
-
-
 16
 16
 16
 16
 16
 
-
 16
 16
 
 
 16
 
-
-
 16
 
 
 16
 20
-
-
 20
-
-
-
-
 16
 16
-
-
 16
-
 16
-
-
-
 16
-
-
-
 16
 16
-
-
 16
-
-
 16
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 16
 16
-
-
 16
 16
 16
@@ -9084,8 +8447,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 16
 16
-
-
 16
 16
 16
@@ -9107,10 +8468,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-
-
 16
-
 16
 16
 16
@@ -9124,17 +8482,14 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 16
 16
 16
@@ -9731,7 +9086,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 39 16
 16
-42 16
+16
 
 37
 37
@@ -10857,19 +10212,17 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-42
 16
 16
 16
 16
-42 16
 16
 16
 16
 16
 16
 16
-42
+16
 16
 16
 16
@@ -10899,9 +10252,9 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-42 16
+16
 30
-42 16
+16
 16
 16
 24
@@ -10967,7 +10320,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-42 16
+16
 23
 16
 16
@@ -11272,14 +10625,12 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
-42
 16
 16
 16
 16
 16
 16
-42
 16
 16
 16
@@ -11385,8 +10736,6 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 18
 16
-42
-42
 16
 16
 35
@@ -12077,9 +11426,7 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
-
 27
 
 
@@ -12108,8 +11455,6 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 
-
-
 0
 0
 0
@@ -12118,79 +11463,43 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
-
 27
 1 16
 20
-
-
 5
 0
 0
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 1
 1
 1
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 1
 1
-
 1 16
-
 0
 0
 
 0
 16
-
 0
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -12218,50 +11527,29 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 20
-
-
 0
 1
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -12272,7 +11560,6 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 
-
 0
 16
 16
@@ -12300,16 +11587,9 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 0
 1
@@ -12318,8 +11598,6 @@ sparc-linux-gnu sparcel-linux-gnu
 16
 5
 15 16
-
-
 0
 5
 0
@@ -12329,17 +11607,10 @@ sparc-linux-gnu sparcel-linux-gnu
 5
 0
 1
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 1 5
 16
@@ -12359,7 +11630,6 @@ sparc-linux-gnu sparcel-linux-gnu
 16
 5
 0
-
 0
 0
 15
@@ -12375,9 +11645,7 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
-
 1
 1
 1
@@ -12401,29 +11669,17 @@ sparc-linux-gnu sparcel-linux-gnu
 
 0 16
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 1
 1
 30
@@ -12451,29 +11707,23 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 1
 1
 1
 
 
-
 27
 
 27
-
-
 27
 1
 0
@@ -12489,34 +11739,23 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 1
-42
 1
 0
 0
-3 8 11
-
-
-
+3 11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 0
 
 
@@ -12555,26 +11794,17 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 1
-
-
-
-
-
-
 5
 16
 16
@@ -12687,11 +11917,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -12707,7 +11933,6 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
 
 28
@@ -12715,10 +11940,7 @@ sparc-linux-gnu sparcel-linux-gnu
 16
 16
 15 16
-
 0 16
-
-
 0
 0
 0
@@ -12749,11 +11971,6 @@ sparc-linux-gnu sparcel-linux-gnu
 14
 16
 1 5
-
-
-
-
-
 1
 0
 0
@@ -12772,17 +11989,12 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -12790,11 +12002,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -12808,8 +12016,6 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 5
-
-
 0
 0
 0
@@ -12820,34 +12026,24 @@ sparc-linux-gnu sparcel-linux-gnu
 
 16
 33
-
 0
 0
 4
 
 
 
-
 27
 
 27
-
 27
-
 15 16
-
-
 15 16
-
-
 27
 
 
 27
-
 33
 
-
 16
 
 5
@@ -12880,9 +12076,6 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 1 16
-
-
-
 12
 
 1
@@ -12917,8 +12110,6 @@ sparc-linux-gnu sparcel-linux-gnu
 
 0
 1
-
-
 0
 2
 0
@@ -12938,93 +12129,48 @@ sparc-linux-gnu sparcel-linux-gnu
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 1
 1
-
-
 1
 1
 1
 1
 1
 
-
 16
 0
 
 
 0
 
-
-
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 3
 15 16
-
-
 0 16
-
 16
-
-
-
 15 16
-
-
-
 0 16
 15 16
-
-
 15 16
-
-
 0 16
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -13043,8 +12189,6 @@ sparc-linux-gnu sparcel-linux-gnu
 
 0
 1
-
-
 0
 1
 0 16
@@ -13066,10 +12210,7 @@ sparc-linux-gnu sparcel-linux-gnu
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -13082,17 +12223,14 @@ sparc-linux-gnu sparcel-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 1
 1
@@ -13690,7 +12828,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0 39
 1
-1 42
+1
 37
 37
 37
@@ -14816,19 +13954,17 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 0
-42
 5
 1
 1
 0 1
-14 15 42
+14 15
 0
 1
 0
 0
 0
 0
-42
 5 14
 1
 1 14
@@ -14858,9 +13994,9 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 1
 5
 24
@@ -14926,7 +14062,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -15231,14 +14367,12 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -15344,8 +14478,6 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 18
 0
-42
-42
 0 16
 12 16
 35
@@ -16036,9 +15168,7 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
-
 27
 
 
@@ -16067,8 +15197,6 @@ sparcv9-linux-gnu
 5
 5
 
-
-
 5
 5
 5
@@ -16077,79 +15205,43 @@ sparcv9-linux-gnu
 27
 
 27
-
-
 27
 5
 20
-
-
 5
 5
 5
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 5
 5
 5
 5
 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 5
 15
-
 5
 5
-
 5
-
 5
 5
 
 5
 16
-
 5
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 5
 5
 5
@@ -16177,50 +15269,29 @@ sparcv9-linux-gnu
 
 
 20
-
-
 5
 5
 5
 5
 
 
-
-
-
 5
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 5
 27
@@ -16231,7 +15302,6 @@ sparcv9-linux-gnu
 
 
 
-
 5
 16
 16
@@ -16259,16 +15329,9 @@ sparcv9-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 5
 5
@@ -16277,8 +15340,6 @@ sparcv9-linux-gnu
 5
 5
 15
-
-
 5
 5
 5
@@ -16288,17 +15349,10 @@ sparcv9-linux-gnu
 5
 5
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 5
 5
 16
@@ -16318,7 +15372,6 @@ sparcv9-linux-gnu
 16
 5
 5
-
 5
 5
 15
@@ -16334,9 +15387,7 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
-
 5
 5
 5
@@ -16360,29 +15411,17 @@ sparcv9-linux-gnu
 
 5
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -16410,29 +15449,23 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
 5
 
 
-
 27
 
 27
-
-
 27
 5
 5
@@ -16448,34 +15481,23 @@ sparcv9-linux-gnu
 5
 5
 5
-42
 5
 5
 5
-8 11
-
-
-
+11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 5
 
 
@@ -16514,26 +15536,17 @@ sparcv9-linux-gnu
 
 
 
-
 5
 5
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 
 
@@ -16646,11 +15659,7 @@ sparcv9-linux-gnu
 5
 5
 20
-
-
 20
-
-
 5
 5
 19
@@ -16666,7 +15675,6 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
 
 28
@@ -16674,10 +15682,7 @@ sparcv9-linux-gnu
 16
 16
 15
-
 5
-
-
 5
 5
 5
@@ -16708,11 +15713,6 @@ sparcv9-linux-gnu
 14
 16
 5
-
-
-
-
-
 5
 5
 5
@@ -16731,17 +15731,12 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
-
 5
 5
 5
 5
 5
-
-
-
 8
 8
 8
@@ -16749,11 +15744,7 @@ sparcv9-linux-gnu
 5
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -16767,8 +15758,6 @@ sparcv9-linux-gnu
 5
 5
 5
-
-
 5
 5
 5
@@ -16779,34 +15768,24 @@ sparcv9-linux-gnu
 
 5
 33
-
 5
 5
 5
 
 
 
-
 27
 
 27
-
 27
-
 15
-
-
 15
-
-
 27
 
 
 27
-
 27
 
-
 16
 
 5
@@ -16839,9 +15818,6 @@ sparcv9-linux-gnu
 5
 5
 5
-
-
-
 12
 
 5
@@ -16876,8 +15852,6 @@ sparcv9-linux-gnu
 
 5
 5
-
-
 5
 5
 5
@@ -16897,93 +15871,48 @@ sparcv9-linux-gnu
 
 
 16
-
-
-
 5
 5
 16
-
-
 5
-
-
-
 5
 12
 
 
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 5
 
 
 5
 
-
-
 5
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15
-
-
 5
-
 16
-
-
-
 15
-
-
-
 5
 15
-
-
 15
-
-
 5
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 5
 5
-
-
 16
 16
 16
@@ -17002,8 +15931,6 @@ sparcv9-linux-gnu
 
 5
 5
-
-
 5
 5
 5
@@ -17025,10 +15952,7 @@ sparcv9-linux-gnu
 16
 5
 16
-
-
 5
-
 5
 5
 5
@@ -17041,17 +15965,14 @@ sparcv9-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
@@ -17649,7 +16570,7 @@ sparcv9-linux-gnu
 5
 5 39
 5
-5 42
+5
 37
 37
 37
@@ -18775,19 +17696,17 @@ sparcv9-linux-gnu
 5
 5
 5
-42
 5
 5
 5
 5
-14 15 42
+14 15
 5
 5
 5
 5
 5
 5
-42
 5 14
 5
 5 14
@@ -18817,9 +17736,9 @@ sparcv9-linux-gnu
 5
 5
 5
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -18885,7 +17804,7 @@ sparcv9-linux-gnu
 5
 15
 5
-5 42
+5
 23
 5
 5
@@ -19190,14 +18109,12 @@ sparcv9-linux-gnu
 5
 5
 5
-42
 5
 5
 5
 5
 5
 5
-42
 5
 5
 5
@@ -19303,8 +18220,6 @@ sparcv9-linux-gnu
 5
 18
 5
-42
-42
 5
 12
 35
@@ -19995,9 +18910,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
-
 27
 
 
@@ -20026,8 +18939,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 
-
-
 0
 0
 0
@@ -20036,79 +18947,43 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
-
 27
 5
 20
-
-
 5
 0
 0
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 5
 5
 5
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 5
 5
-
 5
-
 0
 0
 
 0
 16
-
 0
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -20136,50 +19011,29 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 20
-
-
 0
 5
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -20190,7 +19044,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 
-
 0
 16
 16
@@ -20218,16 +19071,9 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 0
 5
@@ -20236,8 +19082,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 5
 5
 15
-
-
 0
 5
 0
@@ -20247,17 +19091,10 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 5
 0
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 5
 16
@@ -20277,7 +19114,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 16
 5
 0
-
 0
 0
 15
@@ -20293,9 +19129,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
-
 5
 5
 5
@@ -20319,29 +19153,17 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 0
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -20369,29 +19191,23 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
 5
 
 
-
 27
 
 27
-
-
 27
 5
 0
@@ -20407,34 +19223,23 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 5
-42
 5
 0
 0
-8 11
-
-
-
+11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 0
 
 
@@ -20473,26 +19278,17 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 
 
@@ -20605,11 +19401,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -20625,7 +19417,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
 
 28
@@ -20633,10 +19424,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 16
 16
 15
-
 0
-
-
 0
 0
 0
@@ -20667,11 +19455,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 14
 16
 5
-
-
-
-
-
 5
 0
 0
@@ -20690,17 +19473,12 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -20708,11 +19486,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -20726,8 +19500,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 5
-
-
 0
 0
 0
@@ -20738,34 +19510,24 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 5
 33
-
 0
 0
 5
 
 
 
-
 27
 
 27
-
 27
-
 15
-
-
 15
-
-
 27
 
 
 27
-
 27
 
-
 16
 16
 5
@@ -20798,9 +19560,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 5
-
-
-
 12
 
 5
@@ -20835,8 +19594,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 0
 5
-
-
 0
 5
 0
@@ -20856,93 +19613,48 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 0
 
 
 0
 
-
-
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15
-
-
 0
-
 16
-
-
-
 15
-
-
-
 0
 15
-
-
 15
-
-
 0
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -20961,8 +19673,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 
 0
 5
-
-
 0
 5
 0
@@ -20984,10 +19694,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -21000,17 +19707,14 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
@@ -21608,7 +20312,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0 39
 5
-5 42
+5
 37
 37
 37
@@ -22734,19 +21438,17 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
-42
 5
 5
 5
 0 5
-14 15 42
+14 15
 0
 5
 0
 0
 0
 0
-42
 5 14
 5
 5 14
@@ -22776,9 +21478,9 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -22844,7 +21546,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -23149,14 +21851,12 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -23262,8 +21962,6 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 18
 0
-42
-42
 0
 12
 35
@@ -23954,9 +22652,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
-
 27
 
 
@@ -23985,8 +22681,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 
-
-
 0
 0
 0
@@ -23995,79 +22689,43 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
-
 27
 5
 20
-
-
 5
 0
 0
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 5
 5
 5
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 5
 5
-
 5
-
 0
 0
 
 0
 16
-
 0
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -24095,50 +22753,29 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 20
-
-
 0
 5
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -24149,7 +22786,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 
-
 0
 16
 16
@@ -24177,16 +22813,9 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 0
 5
@@ -24195,8 +22824,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 5
 5
 15
-
-
 0
 5
 0
@@ -24206,17 +22833,10 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 5
 0
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 5
 16
@@ -24236,7 +22856,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 16
 5
 0
-
 0
 0
 15
@@ -24252,9 +22871,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
-
 5
 5
 5
@@ -24278,29 +22895,17 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 0
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -24328,29 +22933,23 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
 5
 
 
-
 27
 
 27
-
-
 27
 5
 0
@@ -24366,34 +22965,23 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 5
-42
 5
 0
 0
-8 11
-
-
-
+11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 0
 
 
@@ -24432,26 +23020,17 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 
 
@@ -24564,11 +23143,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -24584,7 +23159,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
 
 28
@@ -24592,10 +23166,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 16
 16
 15
-
 0
-
-
 0
 0
 0
@@ -24626,11 +23197,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 14
 16
 5
-
-
-
-
-
 5
 0
 0
@@ -24649,17 +23215,12 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -24667,11 +23228,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -24685,8 +23242,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 5
-
-
 0
 0
 0
@@ -24697,34 +23252,24 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 5
 33
-
 0
 0
 5
 
 
 
-
 27
 
 27
-
 27
-
 15
-
-
 15
-
-
 27
 
 
 27
-
 27
 
-
 16
 16
 5
@@ -24757,9 +23302,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 5
-
-
-
 12
 
 5
@@ -24794,8 +23336,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 0
 5
-
-
 0
 5
 0
@@ -24815,93 +23355,48 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 0
 
 
 0
 
-
-
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15
-
-
 0
-
 16
-
-
-
 15
-
-
-
 0
 15
-
-
 15
-
-
 0
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -24920,8 +23415,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 
 0
 5
-
-
 0
 5
 0
@@ -24943,10 +23436,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -24959,17 +23449,14 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 5
 5
@@ -25567,7 +24054,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0 39
 5
-5 42
+5
 37
 37
 37
@@ -26693,19 +25180,17 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
-42
 5
 5
 5
 0 5
-14 15 42
+14 15
 0
 5
 0
 0
 0
 0
-42
 5 14
 5
 5 14
@@ -26735,9 +25220,9 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -26803,7 +25288,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -27108,14 +25593,12 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -27221,8 +25704,6 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 18
 0
-42
-42
 0
 12
 35
@@ -27917,8 +26398,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 
-
-
 0
 
 
@@ -27944,8 +26423,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 
-
-
 0
 0
 0
@@ -27955,12 +26432,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
-
 5
 20
-
-
 5
 0
 0
@@ -27968,7 +26441,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
 27
 
 27
@@ -27976,57 +26448,26 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 
-
-
 5
 5
 5
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 5
 5
-
 5
-
 0
 0
 
 0
 16
-
 0
-
 27
 
 27
 
-
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -28054,50 +26495,29 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 20
-
-
 0
 5
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
 
-
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -28108,7 +26528,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 
-
 0
 16
 16
@@ -28136,17 +26555,10 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 
-
-
-
-
-
-
 27
 
 27
 
-
 0
 5
 5
@@ -28154,8 +26566,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 5
 15
-
-
 0
 5
 0
@@ -28165,17 +26575,10 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 5
 0
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 5
 16
@@ -28195,7 +26598,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 16
 5
 0
-
 0
 0
 15
@@ -28212,8 +26614,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
-
 5
 5
 5
@@ -28237,29 +26637,17 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 0
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -28288,29 +26676,23 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 5
 5
 5
 
 
-
 27
 
 27
 
-
-
 5
 0
 5
@@ -28325,34 +26707,23 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 5
-42
 5
 0
 0
-8 11
-
-
-
+11
 27
 
 27
 
-
-
 27
 
 27
 
-
 27
 
-
 27
 
-
 23
-
-
 0
 
 
@@ -28391,26 +26762,17 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 30
 30
 
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 
 
@@ -28523,11 +26885,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -28545,16 +26903,12 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 27
 
 
-
 28
 5
 16
 16
 15
-
 0
-
-
 0
 0
 0
@@ -28585,11 +26939,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 14
 16
 5
-
-
-
-
-
 5
 0
 0
@@ -28609,16 +26958,11 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -28627,10 +26971,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 27
 27
 
-
-
-
-
 19
 18
 19
@@ -28644,8 +26984,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 5
-
-
 0
 0
 0
@@ -28656,34 +26994,24 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 33
-
 0
 0
 5
 
 
 
-
 27
 
 27
 
-
-
 15
-
-
 15
-
-
 27
 
 
 27
 
 
-
-
 16
 16
 5
@@ -28716,9 +27044,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 5
-
-
-
 12
 
 5
@@ -28753,8 +27078,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 0
 5
-
-
 0
 5
 0
@@ -28774,93 +27097,48 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 0
 
 
 0
 
-
-
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15
-
-
 0
-
 16
-
-
-
 15
-
-
-
 0
 15
-
-
 15
-
-
 0
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -28879,8 +27157,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 0
 5
-
-
 0
 5
 0
@@ -28902,10 +27178,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -28919,17 +27192,14 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 5
 5
 5
@@ -29526,7 +27796,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0 39
 5
-5 42
+5
 
 37
 37
@@ -30652,19 +28922,17 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 0
-42
 5
 5
 5
 0 5
-14 15 42
+14 15
 0
 5
 0
 0
 0
 0
-42
 5 14
 5
 5 14
@@ -30694,9 +28962,9 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -30762,7 +29030,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -31067,14 +29335,12 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -31180,8 +29446,6 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 18
 0
-42
-42
 0
 12
 35
@@ -31876,8 +30140,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
-
 0
 
 
@@ -31903,8 +30165,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
-
 0
 0
 0
@@ -31914,12 +30174,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
-
 5
 20
-
-
 5
 0
 0
@@ -31927,7 +30183,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
 27
 
 27
@@ -31935,57 +30190,26 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
-
 5
 5
 5
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 5
 5
-
 5
-
 0
 0
 
 0
 16
-
 0
-
 27
 
 27
 
-
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -32013,50 +30237,29 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 20
-
-
 0
 5
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
 
-
 35
 
 
-
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -32067,7 +30270,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
 0
 16
 16
@@ -32095,17 +30297,10 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
-
-
-
-
-
 27
 
 27
 
-
 0
 5
 5
@@ -32113,8 +30308,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 5
 15
-
-
 0
 5
 0
@@ -32124,17 +30317,10 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 5
 0
 5
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 5
 16
@@ -32154,7 +30340,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 16
 5
 0
-
 0
 0
 15
@@ -32171,8 +30356,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
-
 5
 5
 5
@@ -32196,29 +30379,17 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 0
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 5
 5
 30
@@ -32247,29 +30418,23 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 5
 5
 5
 
 
-
 27
 
 27
 
-
-
 5
 0
 5
@@ -32284,34 +30449,23 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 5
-42
 5
 0
 0
-8 11
-
-
-
+11
 27
 
 27
 
-
-
 27
 
 27
 
-
 27
 
-
 27
 
-
 23
-
-
 0
 
 
@@ -32350,26 +30504,17 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 5
-
-
-
-
-
-
 5
 
 
@@ -32482,11 +30627,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -32504,16 +30645,12 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 27
 
 
-
 28
 5
 16
 16
 15
-
 0
-
-
 0
 0
 0
@@ -32544,11 +30681,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 14
 16
 5
-
-
-
-
-
 5
 0
 0
@@ -32568,16 +30700,11 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -32586,10 +30713,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 27
 27
 
-
-
-
-
 19
 18
 19
@@ -32603,8 +30726,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 5
-
-
 0
 0
 0
@@ -32615,34 +30736,24 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 33
-
 0
 0
 5
 
 
 
-
 27
 
 27
 
-
-
 15
-
-
 15
-
-
 27
 
 
 27
 
 
-
-
 16
 16
 5
@@ -32675,9 +30786,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 5
-
-
-
 12
 
 5
@@ -32712,8 +30820,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 0
 5
-
-
 0
 5
 0
@@ -32733,93 +30839,48 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 5
 5
-
-
 5
 5
 5
 5
 5
 
-
 16
 0
 
 
 0
 
-
-
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 5
 15
-
-
 0
-
 16
-
-
-
 15
-
-
-
 0
 15
-
-
 15
-
-
 0
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -32838,8 +30899,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 0
 5
-
-
 0
 5
 0
@@ -32861,10 +30920,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -32878,17 +30934,14 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 
 27
 
-
 27
 
 27
 
-
 27
 
 27
 
-
 5
 5
 5
@@ -33485,7 +31538,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0 39
 5
-5 42
+5
 
 37
 37
@@ -34611,19 +32664,17 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 0
-42
 5
 5
 5
 0 5
-14 15 42
+14 15
 0
 5
 0
 0
 0
 0
-42
 5 14
 5
 5 14
@@ -34653,9 +32704,9 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 5
 5
 24
@@ -34721,7 +32772,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -35026,14 +33077,12 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -35139,8 +33188,6 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 18
 0
-42
-42
 0
 12
 35
@@ -35831,9 +33878,7 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
-
 27
 
 
@@ -35862,8 +33907,6 @@ x86_64-linux-gnu
 
 
 10
-
-
 10
 10
 10
@@ -35872,79 +33915,43 @@ x86_64-linux-gnu
 27
 36
 27
-
-
 27
 10
 20
-
-
 10
 10
 10
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 
 
 
-
 10
 10
 10
 10
 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 10
 15
-
 10
 10
-
 10
-
 10
 10
 
 10
 16
-
 10
-
 27
 36
 27
-
 27
-
-
-
-
-
-
-
-
-
 10
 10
 10
@@ -35972,50 +33979,29 @@ x86_64-linux-gnu
 
 
 20
-
-
 10
 10
 10
 10
 
 
-
-
-
 10
-
-
-
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 10
 10
 27
@@ -36025,7 +34011,6 @@ x86_64-linux-gnu
 
 
 
-
 25
 10
 16
@@ -36054,16 +34039,9 @@ x86_64-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 36
 27
-
 27
 10
 10
@@ -36072,8 +34050,6 @@ x86_64-linux-gnu
 10
 10
 15
-
-
 10
 10
 
@@ -36083,17 +34059,10 @@ x86_64-linux-gnu
 10
 10
 10
-
-
-
-
 10
 16
-
-
 10
 10
-
 10
 10
 16
@@ -36113,7 +34082,6 @@ x86_64-linux-gnu
 16
 10
 10
-
 10
 10
 15
@@ -36129,9 +34097,7 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
-
 10
 10
 10
@@ -36155,29 +34121,17 @@ x86_64-linux-gnu
 36
 10
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 10
 10
 30
@@ -36205,29 +34159,23 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 10
 10
 10
 
 
-
 27
 36
 27
-
-
 27
 10
 10
@@ -36243,34 +34191,23 @@ x86_64-linux-gnu
 10
 10
 10
-42
 10
 10
 10
 11
-
-
-
 27
 36
 27
-
 27
-
 27
 36
 27
-
 27
 27
-
 36
 27
-
 27
 23
-
-
 10
 
 
@@ -36309,26 +34246,17 @@ x86_64-linux-gnu
 
 
 
-
 10
 10
 19
 
 
-
 11
 
 
 
 
-
 10
-
-
-
-
-
-
 10
 
 
@@ -36441,11 +34369,7 @@ x86_64-linux-gnu
 10
 10
 20
-
-
 20
-
-
 10
 10
 19
@@ -36461,7 +34385,6 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
 
 28
@@ -36469,10 +34392,7 @@ x86_64-linux-gnu
 16
 16
 15
-
 10
-
-
 10
 10
 10
@@ -36503,11 +34423,6 @@ x86_64-linux-gnu
 14
 16
 10
-
-
-
-
-
 10
 10
 10
@@ -36526,17 +34441,12 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
-
 10
 10
 10
 10
 10
-
-
-
 10
 10
 10
@@ -36544,11 +34454,7 @@ x86_64-linux-gnu
 10
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -36562,8 +34468,6 @@ x86_64-linux-gnu
 10
 10
 10
-
-
 10
 10
 10
@@ -36574,34 +34478,24 @@ x86_64-linux-gnu
 36
 10
 33
-
 10
 10
 10
 
 
 
-
 27
 36
 27
-
 27
-
 15
-
-
 15
-
-
 27
 
 36
 27
-
 27
 
-
 16
 
 10
@@ -36634,9 +34528,6 @@ x86_64-linux-gnu
 10
 10
 10
-
-
-
 12
 
 10
@@ -36671,8 +34562,6 @@ x86_64-linux-gnu
 36
 10
 10
-
-
 10
 10
 10
@@ -36692,93 +34581,48 @@ x86_64-linux-gnu
 
 
 16
-
-
-
 10
 10
 16
-
-
 10
-
-
-
 10
 12
 
 
 10
 10
-
-
 10
 10
 10
 10
 10
 
-
 16
 10
 
 
 10
 
-
-
 10
 
 
 12
 20
-
-
 20
-
-
-
-
 10
 15
-
-
 10
-
 16
-
-
-
 15
-
-
-
 10
 15
-
-
 15
-
-
 10
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 10
 10
-
-
 16
 16
 16
@@ -36797,8 +34641,6 @@ x86_64-linux-gnu
 36
 10
 10
-
-
 10
 10
 10
@@ -36820,10 +34662,7 @@ x86_64-linux-gnu
 16
 10
 16
-
-
 10
-
 10
 10
 10
@@ -36836,17 +34675,14 @@ x86_64-linux-gnu
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 10
 10
@@ -37444,7 +35280,7 @@ x86_64-linux-gnu
 10
 10 39
 10
-10 42
+10
 36
 37
 37
@@ -38570,19 +36406,17 @@ x86_64-linux-gnu
 10
 10
 10
-42
 10
 10
 10
 10
-14 15 42
+14 15
 10
 10
 10
 10
 10
 10
-42
 10
 10
 10
@@ -38612,9 +36446,9 @@ x86_64-linux-gnu
 10
 10
 10
-14 15 42
+14 15
 30
-10 42
+10
 10
 10
 24
@@ -38680,7 +36514,7 @@ x86_64-linux-gnu
 10
 15
 10
-10 42
+10
 23
 10
 10
@@ -38985,14 +36819,12 @@ x86_64-linux-gnu
 10
 10
 10
-42
 10
 10
 10
 10
 10
 10
-42
 10
 10
 10
@@ -39098,8 +36930,6 @@ x86_64-linux-gnu
 10
 18
 10
-42
-42
 10
 12
 35
@@ -39790,9 +37620,7 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
-
 28
 
 
@@ -39821,8 +37649,6 @@ x86_64-linux-gnux32
 
 
 28
-
-
 28
 28
 28
@@ -39831,83 +37657,47 @@ x86_64-linux-gnux32
 28
 36
 28
-
-
 28
 28
 28
-
-
 28
 28
 28
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 
 
 
-
 28
 28
 28
 28
 28
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 28
 28
-
 28
 28
-
 28
-
 28
 28
 
 28
 28
-
 28
-
 28
 36
 28
-
 28
 
 
 
 
-
-
-
-
-
-
-
-
-
 28
 28
 
@@ -39931,50 +37721,29 @@ x86_64-linux-gnux32
 
 
 28
-
-
 28
 28
 28
 28
 
 
-
-
-
 28
-
-
-
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 28
 36
 28
 
-
 28
 35
 
 
-
-
-
-
-
-
-
-
-
-
 28
 28
 28
@@ -39984,7 +37753,6 @@ x86_64-linux-gnux32
 
 
 
-
 28
 28
 28
@@ -40013,16 +37781,9 @@ x86_64-linux-gnux32
 
 
 
-
-
-
-
-
-
 28
 36
 28
-
 28
 28
 28
@@ -40031,8 +37792,6 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
 28
 28
 
@@ -40042,17 +37801,10 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
-
-
 28
 28
-
-
 28
 28
-
 28
 28
 28
@@ -40072,7 +37824,6 @@ x86_64-linux-gnux32
 28
 28
 28
-
 28
 28
 28
@@ -40088,9 +37839,7 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
-
 28
 28
 28
@@ -40114,29 +37863,17 @@ x86_64-linux-gnux32
 36
 28
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
-
 28
 28
 30
@@ -40164,29 +37901,23 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 28
 28
 28
 
 
-
 28
 36
 28
-
-
 28
 28
 28
@@ -40202,34 +37933,23 @@ x86_64-linux-gnux32
 28
 28
 28
-42
 28
 28
 28
 
-
-
-
 28
 36
 28
-
 28
-
 28
 36
 28
-
 28
 28
-
 36
 28
-
 28
 28
-
-
 28
 
 
@@ -40268,26 +37988,17 @@ x86_64-linux-gnux32
 
 
 
-
 28
 28
 28
 
 
-
 28
 
 
 
 
-
 28
-
-
-
-
-
-
 28
 
 
@@ -40400,11 +38111,7 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
 28
-
-
 28
 28
 28
@@ -40420,7 +38127,6 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
 
 28
@@ -40428,10 +38134,7 @@ x86_64-linux-gnux32
 28
 28
 28
-
 28
-
-
 28
 28
 28
@@ -40462,11 +38165,6 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
-
-
-
 28
 28
 28
@@ -40485,17 +38183,12 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
-
 28
 28
 28
 28
 28
-
-
-
 28
 28
 28
@@ -40503,11 +38196,7 @@ x86_64-linux-gnux32
 28
 28
 28
-
 28
-
-
-
 28
 28
 28
@@ -40521,8 +38210,6 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
 28
 28
 28
@@ -40533,34 +38220,24 @@ x86_64-linux-gnux32
 36
 28
 33
-
 28
 28
 28
 
 
 
-
 28
 36
 28
-
 28
-
 28
-
-
 28
-
-
 28
 
 36
 28
-
 28
 
-
 28
 
 28
@@ -40593,9 +38270,6 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
-
 28
 
 28
@@ -40630,8 +38304,6 @@ x86_64-linux-gnux32
 36
 28
 28
-
-
 28
 28
 28
@@ -40651,93 +38323,48 @@ x86_64-linux-gnux32
 
 
 28
-
-
-
 28
 
 28
-
-
 28
-
-
-
 28
 28
 
 
 28
 28
-
-
 28
 28
 28
 28
 28
 
-
 28
 28
 
 
 28
 
-
-
 28
 
 
 28
 28
-
-
 28
-
-
-
-
 28
 28
-
-
 28
-
 28
-
-
-
 28
-
-
-
 28
 28
-
-
 28
-
-
 28
-
 28
-
-
-
 28
-
-
-
-
 28
-
-
-
 28
 28
-
-
 28
 28
 28
@@ -40756,8 +38383,6 @@ x86_64-linux-gnux32
 36
 28
 28
-
-
 28
 28
 28
@@ -40779,10 +38404,7 @@ x86_64-linux-gnux32
 28
 28
 28
-
-
 28
-
 28
 28
 28
@@ -40795,17 +38417,14 @@ x86_64-linux-gnux32
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 28
 36
 28
-
 28
 28
 28
@@ -41403,7 +39022,7 @@ x86_64-linux-gnux32
 28
 28 39
 28
-28 42
+28
 36
 37
 37
@@ -42529,19 +40148,17 @@ x86_64-linux-gnux32
 28
 28
 28
-42
 28
 28
 28
 28
-28 42
 28
 28
 28
 28
 28
 28
-42
+28
 28
 28
 28
@@ -42571,9 +40188,9 @@ x86_64-linux-gnux32
 28
 28
 28
-28 42
+28
 30
-28 42
+28
 28
 28
 28
@@ -42639,7 +40256,7 @@ x86_64-linux-gnux32
 28
 28
 28
-28 42
+28
 28
 28
 28
@@ -42944,14 +40561,12 @@ x86_64-linux-gnux32
 28
 28
 28
-42
 28
 28
 28
 28
 28
 28
-42
 28
 28
 28
@@ -43057,8 +40672,6 @@ x86_64-linux-gnux32
 28
 28
 28
-42
-42
 28
 28
 35
@@ -43749,9 +41362,7 @@ i386-linux-gnu
 27
 36
 27
-
 27
-
 27
 
 
@@ -43780,8 +41391,6 @@ i386-linux-gnu
 
 
 
-
-
 0
 0
 0
@@ -43790,79 +41399,43 @@ i386-linux-gnu
 27
 36
 27
-
-
 27
 1
 20
-
-
 5
 0
 0
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 
 
 
-
 1
 1
 1
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 1
 1
-
 1
-
 0
 0
 
 0
 16
-
 0
-
 27
 36
 27
-
 27
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -43890,50 +41463,29 @@ i386-linux-gnu
 0
 
 20
-
-
 0
 1
 5
 0
 
 
-
-
-
 0
-
-
-
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
-
 5
 27
 35
-
 5
 
-
-
-
-
-
-
-
-
-
 5
 0
 27
@@ -43943,7 +41495,6 @@ i386-linux-gnu
 
 
 
-
 25
 0
 16
@@ -43972,16 +41523,9 @@ i386-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 36
 27
-
 27
 0
 1
@@ -43990,8 +41534,6 @@ i386-linux-gnu
 1
 5
 15
-
-
 0
 5
 0
@@ -44001,17 +41543,10 @@ i386-linux-gnu
 5
 0
 1
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 1 5
 16
@@ -44031,7 +41566,6 @@ i386-linux-gnu
 16
 5
 0
-
 0
 0
 15
@@ -44047,9 +41581,7 @@ i386-linux-gnu
 27
 36
 27
-
 27
-
 1
 1
 1
@@ -44073,29 +41605,17 @@ i386-linux-gnu
 36
 0
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 1
 1
 30
@@ -44123,29 +41643,23 @@ i386-linux-gnu
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 1
 1
 1
 
 
-
 27
 36
 27
-
-
 27
 1
 0
@@ -44161,34 +41675,23 @@ i386-linux-gnu
 0
 0
 1
-42
 1
 0
 0
-3 8 11
-
-
-
+3 11
 27
 36
 27
-
 27
-
 27
 36
 27
-
 27
 27
-
 36
 27
-
 27
 23
-
-
 0
 
 
@@ -44227,26 +41730,17 @@ i386-linux-gnu
 
 
 0
-
 0
 0
 19
 
 
-
 11
 
 
 
 
-
 1
-
-
-
-
-
-
 5
 
 
@@ -44359,11 +41853,7 @@ i386-linux-gnu
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -44379,7 +41869,6 @@ i386-linux-gnu
 27
 36
 27
-
 27
 
 28
@@ -44387,10 +41876,7 @@ i386-linux-gnu
 16
 16
 15
-
 0
-
-
 0
 0
 0
@@ -44421,11 +41907,6 @@ i386-linux-gnu
 14
 16
 1 5
-
-
-
-
-
 1
 0
 0
@@ -44444,17 +41925,12 @@ i386-linux-gnu
 27
 36
 27
-
 27
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -44462,11 +41938,7 @@ i386-linux-gnu
 0
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -44480,8 +41952,6 @@ i386-linux-gnu
 0
 0
 5
-
-
 0
 0
 0
@@ -44492,34 +41962,24 @@ i386-linux-gnu
 36
 1
 33
-
 0
 0
 4
 
 
 
-
 27
 36
 27
-
 27
-
 15
-
-
 15
-
-
 27
 
 36
 27
-
 27
 
-
 16
 
 5
@@ -44552,9 +42012,6 @@ i386-linux-gnu
 0
 0
 1
-
-
-
 12
 2
 1
@@ -44589,8 +42046,6 @@ i386-linux-gnu
 36
 0
 1
-
-
 0
 2
 0
@@ -44610,93 +42065,48 @@ i386-linux-gnu
 
 
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 
 
 1
 1
-
-
 1
 1
 1
 1
 1
 
-
 16
 0
 
 0
 0
-
-
 0
 0
 
 
 12
 20
-
-
 20
-
-
-
-
 3
 15
-
-
 0
-
 16
-
-
-
 15
-
-
-
 0
 15
-
-
 15
-
-
 0
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -44715,8 +42125,6 @@ i386-linux-gnu
 36
 0
 1
-
-
 0
 1
 0
@@ -44738,10 +42146,7 @@ i386-linux-gnu
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -44754,17 +42159,14 @@ i386-linux-gnu
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 27
 36
 27
-
 27
 1
 1
@@ -45362,7 +42764,7 @@ i386-linux-gnu
 0
 0 39
 1
-1 42
+1
 36
 37
 37
@@ -46488,19 +43890,17 @@ i386-linux-gnu
 0
 0
 0
-42
 5
 1
 1
 0 1
-14 15 42
+14 15
 0
 1
 0
 0
 0
 0
-42
 5
 1
 1
@@ -46530,9 +43930,9 @@ i386-linux-gnu
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 1
 5
 24
@@ -46598,7 +43998,7 @@ i386-linux-gnu
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -46903,14 +44303,12 @@ i386-linux-gnu
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -47016,8 +44414,6 @@ i386-linux-gnu
 0
 18
 0
-42
-42
 0
 12
 35
@@ -47708,9 +45104,7 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
-42
 29
 
 
@@ -47739,8 +45133,6 @@ powerpc64le-linux-gnu
 
 
 
-42
-42
 29
 29
 29
@@ -47749,27 +45141,20 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
-42
 29
 29
 29
-42
-42
 29
 29
 29
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
-42
 
 
 
@@ -47778,50 +45163,21 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
-42
-42
-42
-42
-42
-42
-42
-42
-42
-42
-42
-42
 29
 29
-42
 29
 29
-42
 29
-42
 29
 29
 
 29
 29
-42
 29
-42
 29
 36
 29
-42
 29
-42
-42
-42
-42
-42
-42
-42
-42
-42
 
 
 
@@ -47849,55 +45205,33 @@ powerpc64le-linux-gnu
 
 
 29
-42
-42
 29
 29
 29
 29
 
 
-42
-42
-42
 29
-42
-42
-42
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
 29
 36
 29
-42
 
 29
 35
-42
 
 
-42
-42
-42
-42
-42
-42
-42
-42
-42
 29
 29
 29
 29
-42
 29
 35
 29
@@ -47930,17 +45264,10 @@ powerpc64le-linux-gnu
 
 
 
-42
 
-42
-42
-42
-42
-42
 29
 36
 29
-42
 29
 29
 29
@@ -47949,8 +45276,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
 29
 29
 
@@ -47960,17 +45285,10 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
-42
-42
 29
 29
-42
-42
 29
 29
-42
 29
 29
 29
@@ -47990,7 +45308,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
 29
 29
@@ -48006,9 +45323,7 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
-42
 29
 29
 29
@@ -48032,29 +45347,17 @@ powerpc64le-linux-gnu
 36
 29
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
-42
 29
 29
 30
@@ -48082,29 +45385,23 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
 29
 29
 29
-42
 
 
 29
 36
 29
-42
-42
 29
 29
 29
@@ -48120,34 +45417,23 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
 29
 29
 
-42
-42
-42
 29
 36
 29
-42
 29
-42
 29
 36
 29
-42
 29
 29
-42
 36
 29
-42
 29
 29
-42
-42
 29
 
 
@@ -48186,26 +45472,17 @@ powerpc64le-linux-gnu
 
 
 
-42
 29
 29
 29
 
 
-42
 29
-42
 
 
 
 
 29
-42
-42
-42
-42
-42
-42
 29
 29
 29
@@ -48318,11 +45595,7 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
 29
-42
-42
 29
 29
 29
@@ -48338,7 +45611,6 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
 29
 29
@@ -48346,10 +45618,7 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
-42
-42
 29
 29
 29
@@ -48380,11 +45649,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
-42
-42
-42
 29
 29
 29
@@ -48403,17 +45667,12 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
-42
 29
 29
 29
 29
 29
-42
-42
-42
 29
 29
 29
@@ -48421,11 +45680,7 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
-42
-42
-42
 29
 29
 29
@@ -48439,8 +45694,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
 29
 29
 29
@@ -48451,34 +45704,24 @@ powerpc64le-linux-gnu
 36
 29
 33
-42
 29
 29
 29
 
 
 
-42
 29
 36
 29
-42
 29
-42
 29
-42
-42
 29
-42
-42
 29
 
 36
 29
-42
 29
 
-42
 29
 
 29
@@ -48511,9 +45754,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
-42
 29
 
 29
@@ -48548,8 +45788,6 @@ powerpc64le-linux-gnu
 36
 29
 29
-42
-42
 29
 29
 29
@@ -48569,93 +45807,48 @@ powerpc64le-linux-gnu
 
 
 29
-42
-42
-42
 29
 29
 29
-42
-42
 29
-42
-42
-42
 29
 29
 32
 
 29
 29
-42
-42
 29
 29
 29
 29
 29
 
-42
 29
 29
 
 
 29
-42
-42
 
 29
 
 
 29
 29
-42
-42
 29
-42
-42
-42
-42
 29
 29
-42
-42
 29
-42
 29
-42
-42
-42
 29
-42
-42
-42
 29
 29
-42
-42
 29
-42
-42
 29
-42
 29
-42
-42
-42
 29
-42
-42
-42
-42
 29
-42
-42
-42
 29
 29
-42
-42
 29
 29
 29
@@ -48674,8 +45867,6 @@ powerpc64le-linux-gnu
 36
 29
 29
-42
-42
 29
 29
 29
@@ -48697,10 +45888,7 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
 29
-42
 29
 29
 29
@@ -48713,17 +45901,14 @@ powerpc64le-linux-gnu
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
 29
 36
 29
-42
 29
 29
 29
@@ -49321,7 +46506,7 @@ powerpc64le-linux-gnu
 29
 29 39
 29
-29 42
+29
 36
 37
 37
@@ -50447,19 +47632,17 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
 29
 29
 29
-29 42
 29
 29
 29
 29
 29
 29
-42
+29
 29
 29
 29
@@ -50489,9 +47672,9 @@ powerpc64le-linux-gnu
 29
 29
 29
-29 42
+29
 30
-29 42
+29
 29
 29
 29
@@ -50557,7 +47740,7 @@ powerpc64le-linux-gnu
 29
 29
 29
-29 42
+29
 29
 29
 29
@@ -50862,14 +48045,12 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
 29
 29
 29
 29
 29
 29
-42
 29
 29
 29
@@ -50975,8 +48156,6 @@ powerpc64le-linux-gnu
 29
 29
 29
-42
-42
 29
 29
 35
@@ -51667,9 +48846,7 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
-
 27
 
 
@@ -51698,8 +48875,6 @@ powerpc64-linux-gnu
 
 
 
-
-
 12
 12
 12
@@ -51708,83 +48883,47 @@ powerpc64-linux-gnu
 27
 
 27
-
-
 27
 12 16
 20
-
-
 12
 12
 12
 27
 
 27
-
 27
 27
 
 27
-
 27
 
 
 
-
 12
 12
 12
 12
 12
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 12
 15
-
 12
 12
-
 12 16
-
 12
 12
 
 12
 16
-
 12
-
 27
 
 27
-
 27
 
 
 
 
-
-
-
-
-
-
-
-
-
 12
 12
 
@@ -51808,55 +48947,33 @@ powerpc64-linux-gnu
 
 
 20
-
-
 12
 12
 12
 12
 
 
-
-
-
 12
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
 
-
-
-
-
-
-
-
-
-
-
 12
 12
 27
 27
-
 12
 35
 12
@@ -51890,16 +49007,9 @@ powerpc64-linux-gnu
 
 
 
-
-
-
-
-
-
 27
 
 27
-
 27
 12
 12
@@ -51908,8 +49018,6 @@ powerpc64-linux-gnu
 16
 12
 15 16
-
-
 12
 12
 
@@ -51919,17 +49027,10 @@ powerpc64-linux-gnu
 12
 12
 12
-
-
-
-
 12
 16
-
-
 12
 12
-
 12
 12
 16
@@ -51949,7 +49050,6 @@ powerpc64-linux-gnu
 16
 12
 12
-
 12
 12
 15
@@ -51965,9 +49065,7 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
-
 12
 12
 12
@@ -51991,29 +49089,17 @@ powerpc64-linux-gnu
 
 12 16
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 12
 12
 30
@@ -52041,29 +49127,23 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 12
 12
 12
 
 
-
 27
 
 27
-
-
 27
 12
 12
@@ -52079,34 +49159,23 @@ powerpc64-linux-gnu
 12
 12
 12
-42
 12
 12
 12
 
-
-
-
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 12
 
 
@@ -52145,26 +49214,17 @@ powerpc64-linux-gnu
 
 
 
-
 12
 12
 19
 
 
-
 12
 
 
 
 
-
 12
-
-
-
-
-
-
 12
 16
 16
@@ -52277,11 +49337,7 @@ powerpc64-linux-gnu
 12
 12
 20
-
-
 20
-
-
 12
 12
 19
@@ -52297,7 +49353,6 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
 29
 28
@@ -52305,10 +49360,7 @@ powerpc64-linux-gnu
 16
 16
 15 16
-
 12 16
-
-
 12
 12
 12
@@ -52339,11 +49391,6 @@ powerpc64-linux-gnu
 14
 16
 12
-
-
-
-
-
 12
 12
 12
@@ -52362,17 +49409,12 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
-
 12
 12
 12
 12
 12
-
-
-
 12
 12
 12
@@ -52380,11 +49422,7 @@ powerpc64-linux-gnu
 12
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -52398,8 +49436,6 @@ powerpc64-linux-gnu
 12
 12
 12
-
-
 12
 12
 12
@@ -52410,34 +49446,24 @@ powerpc64-linux-gnu
 
 16
 33
-
 12
 12 15
 12
 
 
 
-
 27
 
 27
-
 27
-
 15 16
-
-
 15 16
-
-
 27
 
 
 27
-
 27
 
-
 16
 
 12
@@ -52470,9 +49496,6 @@ powerpc64-linux-gnu
 12
 12
 12 16
-
-
-
 12
 
 12
@@ -52507,8 +49530,6 @@ powerpc64-linux-gnu
 
 12
 12
-
-
 12
 12
 12
@@ -52528,93 +49549,48 @@ powerpc64-linux-gnu
 
 
 16
-
-
-
 12
 12
 16
-
-
 12
-
-
-
 12
 12
 32
 
 12
 12
-
-
 12
 12
 12
 12
 12
 
-
 16
 12
 
 
 12
 
-
-
 12
 
 
 12
 20
-
-
 20
-
-
-
-
 12
 15 16
-
-
 12 16
-
 16
-
-
-
 15 16
-
-
-
 12 16
 15 16
-
-
 15 16
-
-
 12 16
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 12
 12
-
-
 16
 16
 16
@@ -52633,8 +49609,6 @@ powerpc64-linux-gnu
 
 12
 12
-
-
 12
 12
 12 16
@@ -52656,10 +49630,7 @@ powerpc64-linux-gnu
 16
 12
 16
-
-
 12
-
 12
 12
 12
@@ -52672,17 +49643,14 @@ powerpc64-linux-gnu
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 12
 12
@@ -53280,7 +50248,7 @@ powerpc64-linux-gnu
 12
 39 12
 12
-12 42
+12
 
 37
 37
@@ -54406,19 +51374,17 @@ powerpc64-linux-gnu
 12
 12
 12
-42
 12
 12
 12
 12
-14 15 42
+14 15
 12
 12
 12
 12
 12
 12
-42
 12 18
 12
 12 18
@@ -54448,9 +51414,9 @@ powerpc64-linux-gnu
 12
 12
 12
-14 15 42
+14 15
 30
-12 42
+12
 12
 12
 24
@@ -54516,7 +51482,7 @@ powerpc64-linux-gnu
 12
 15
 12
-12 42
+12
 23
 12
 12
@@ -54821,14 +51787,12 @@ powerpc64-linux-gnu
 12
 12
 12
-42
 12
 12
 12
 12
 12
 12
-42
 12
 12
 12
@@ -54934,8 +51898,6 @@ powerpc64-linux-gnu
 12
 18
 12
-42
-42
 12 16
 12 16
 35
@@ -55626,9 +52588,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
-
 27
 13
 13
@@ -55657,8 +52617,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 
 
-
-
 0
 0
 0
@@ -55667,27 +52625,20 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
-
 27
 1 16
 20
-
-
 5
 0
 0
 27
 
 27
-
 27
 27
 
 27
-
 27
-
 31
 31
 31
@@ -55696,50 +52647,21 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 1
 0
 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 0
 15
-
 1
 1
-
 1 16
-
 0
 0
 0
 0
 16
-
 0
-
 27
 
 27
-
 27
-
-
-
-
-
-
-
-
-
 0
 5
 5
@@ -55767,55 +52689,33 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 13
 20
-
-
 0
 1
 5
 0
 13
 13
-
-
-
 0
-
-
-
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
 
-
 27
 35
 
-
 13
-
-
-
-
-
-
-
-
-
 5
 0
 27
 27
-
 1
 35
 1
@@ -55848,17 +52748,10 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 16
 16
 16
-
 31
-
-
-
-
-
 27
 
 27
-
 27
 0
 1
@@ -55867,8 +52760,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 16
 5
 15 16
-
-
 0
 5
 0
@@ -55878,17 +52769,10 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 5
 0
 1
-
-
-
-
 5
 16
-
-
 5
 5
-
 0
 1 5
 16
@@ -55908,7 +52792,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 16
 5
 0
-
 0
 0
 15
@@ -55924,9 +52807,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
-
 1
 1
 1
@@ -55950,29 +52831,17 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 0 16
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 19
-
 1
 1
 30
@@ -56000,29 +52869,23 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 1
 1
 1
-
 13
 13
 27
 
 27
-
-
 27
 1
 0
@@ -56038,34 +52901,23 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 1
-42
 1
 0
 0
-3 8 11
-
-
-
+3 11
 27
 
 27
-
 27
-
 27
 
 27
-
 27
 27
 
-
 27
-
 27
 23
-
-
 0
 0
 16
@@ -56104,26 +52956,17 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 
 0
-
 0
 0
 19
 13
 13
-
 11
-
 16
 13
 13
 16
 1
-
-
-
-
-
-
 5
 16
 16
@@ -56236,11 +53079,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 20
-
-
 20
-
-
 0
 5
 19
@@ -56256,7 +53095,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
 29
 28
@@ -56264,10 +53102,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 16
 16
 15 16
-
 0 16
-
-
 0
 0
 0
@@ -56298,11 +53133,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 14
 16
 1 5
-
-
-
-
-
 1
 0
 0
@@ -56321,17 +53151,12 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
-
 5
 5
 5
 0
 5
-
-
-
 8
 8
 8
@@ -56339,11 +53164,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 27
 27
-
 27
-
-
-
 19
 18
 19
@@ -56357,8 +53178,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 5
-
-
 0
 0
 0
@@ -56369,34 +53188,24 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 16
 33
-
 0
 0 15
 4
 13
 13
 13
-
 27
 
 27
-
 27
-
 15 16
-
-
 15 16
-
-
 27
 13
 
 27
-
 27
 13
-
 16
 
 5
@@ -56429,9 +53238,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 1 16
-
-
-
 12
 
 1
@@ -56466,8 +53272,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 0
 1
-
-
 0
 2
 0
@@ -56487,93 +53291,48 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 13
 13
 16
-
-
-
 5
 5
 16
-
-
 0
-
-
-
 0
 12
 32
 
 1
 1
-
-
 1
 1
 1
 1
 1
 13
-
 16
 0
 0
 0
 0
-
-
 0
 0
 16
 16
 12
 20
-
-
 20
-
-
-
-
 3
 15 16
-
-
 0 16
-
 16
-
-
-
 15 16
-
-
-
 0 16
 15 16
-
-
 15 16
-
-
 0 16
-
 16
-
-
-
 16
-
-
-
-
 16
-
-
-
 0
 0
-
-
 16
 16
 16
@@ -56592,8 +53351,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 
 0
 1
-
-
 0
 1
 0 16
@@ -56615,10 +53372,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 16
 5
 16
-
-
 0
-
 5
 5
 0
@@ -56631,17 +53385,14 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 27
 
 27
-
 27
 27
 
 27
-
 27
 27
 
 27
-
 27
 1
 1
@@ -57239,7 +53990,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0 39
 1
-1 42
+1
 
 37
 37
@@ -58365,19 +55116,17 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 0
-42
 5
 1
 1
 0 1
-14 15 42
+14 15
 0
 1
 0
 0
 0
 0
-42
 5 18
 1
 1 18
@@ -58407,9 +55156,9 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 0
-14 15 42
+14 15
 30
-8 42
+8
 1
 5
 24
@@ -58475,7 +55224,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 15
 0
-0 42
+0
 23
 5
 5
@@ -58780,14 +55529,12 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 0
-42
 0
 0
 0
 0
 0
 0
-42
 0
 0
 0
@@ -58893,8 +55640,6 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 18
 0
-42
-42
 0 16
 12 16
 35
lib/libc/glibc/fns.txt
@@ -199,9 +199,7 @@ __acosf_finite m
 __acosh_finite m
 __acoshf128_finite m
 __acoshf_finite m
-__acoshieee128 m
 __acoshl_finite m
-__acosieee128 m
 __acosl_finite m
 __adddf3 c
 __addsf3 c
@@ -230,8 +228,6 @@ __align_cpy_2 c
 __align_cpy_4 c
 __align_cpy_8 c
 __arch_prctl c
-__argp_errorieee128 c
-__argp_failureieee128 c
 __argz_count c
 __argz_next c
 __argz_stringify c
@@ -240,27 +236,20 @@ __ashrdi3 c
 __asin_finite m
 __asinf128_finite m
 __asinf_finite m
-__asinhieee128 m
-__asinieee128 m
 __asinl_finite m
 __asprintf c
 __asprintf_chk c
-__asprintf_chkieee128 c
-__asprintfieee128 c
 __assert c
 __assert_fail c
 __assert_perror_fail c
 __atan2_finite m
 __atan2f128_finite m
 __atan2f_finite m
-__atan2ieee128 m
 __atan2l_finite m
 __atanh_finite m
 __atanhf128_finite m
 __atanhf_finite m
-__atanhieee128 m
 __atanhl_finite m
-__atanieee128 m
 __atomic_feclearexcept c
 __atomic_feholdexcept c
 __atomic_feupdateenv c
@@ -269,50 +258,21 @@ __backtrace_symbols c
 __backtrace_symbols_fd c
 __bsd_getpgrp c
 __bzero c
-__cabsieee128 m
-__cacoshieee128 m
-__cacosieee128 m
-__canonicalizeieee128 m
-__cargieee128 m
-__casinhieee128 m
-__casinieee128 m
-__catanhieee128 m
-__catanieee128 m
-__cbrtieee128 m
-__ccoshieee128 m
-__ccosieee128 m
-__ceilieee128 m
-__cexpieee128 m
 __check_rhosts_file c
 __chk_fail c
-__cimagieee128 m
 __clog10 m
 __clog10f m
-__clog10ieee128 m
 __clog10l m
-__clogieee128 m
 __clone c
 __close c
 __cmpdi2 c
 __cmsg_nxthdr c
 __confstr_chk c
-__conjieee128 m
 __connect c
-__copysignieee128 m
 __cosh_finite m
 __coshf128_finite m
 __coshf_finite m
-__coshieee128 m
 __coshl_finite m
-__cosieee128 m
-__cpowieee128 m
-__cprojieee128 m
-__crealieee128 m
-__csinhieee128 m
-__csinieee128 m
-__csqrtieee128 m
-__ctanhieee128 m
-__ctanieee128 m
 __ctype32_b c
 __ctype32_tolower c
 __ctype32_toupper c
@@ -340,55 +300,33 @@ __divdf3 c
 __divdi3 c
 __divsf3 c
 __dprintf_chk c
-__dprintf_chkieee128 c
-__dprintfieee128 c
 __dup2 c
 __duplocale c
 __endmntent c
 __environ c
 __eqdf2 c
 __eqsf2 c
-__erfcieee128 m
-__erfieee128 m
-__errieee128 c
 __errno_location c
-__error_at_lineieee128 c
-__errorieee128 c
-__errxieee128 c
 __exp10_finite m
 __exp10f128_finite m
 __exp10f_finite m
-__exp10ieee128 m
 __exp10l_finite m
 __exp2_finite m
 __exp2f128_finite m
 __exp2f_finite m
-__exp2ieee128 m
 __exp2l_finite m
 __exp_finite m
 __expf128_finite m
 __expf_finite m
-__expieee128 m
 __expl m
 __expl_finite m
 __explicit_bzero_chk c
-__expm1ieee128 m
 __expm1l m
 __extendsfdf2 c
-__f32addieee128 m
-__f32divieee128 m
-__f32mulieee128 m
-__f32subieee128 m
-__f64addieee128 m
-__f64divieee128 m
-__f64mulieee128 m
-__f64subieee128 m
-__fabsieee128 m
 __fbufsize c
 __fcntl c
 __fdelt_chk c
 __fdelt_warn c
-__fdimieee128 m
 __fe_dfl_env m
 __fe_dfl_mode m
 __fe_enabled_env m
@@ -421,17 +359,10 @@ __floatundidf c
 __floatundisf c
 __floatunsidf c
 __floatunsisf c
-__floorieee128 m
 __flt_rounds c
-__fmaieee128 m
-__fmaxieee128 m
-__fmaxmagieee128 m
-__fminieee128 m
-__fminmagieee128 m
 __fmod_finite m
 __fmodf128_finite m
 __fmodf_finite m
-__fmodieee128 m
 __fmodl_finite m
 __fork c
 __fpclassify m
@@ -440,8 +371,6 @@ __fpclassifyf128 m
 __fpclassifyl m
 __fpending c
 __fprintf_chk c
-__fprintf_chkieee128 c
-__fprintfieee128 c
 __fpu_control c
 __fpurge c
 __frame_state_for c
@@ -451,17 +380,10 @@ __freadable c
 __freading c
 __free_hook c
 __freelocale c
-__frexpieee128 m
-__fromfpieee128 m
-__fromfpxieee128 m
-__fscanfieee128 c
 __fsetlocking c
 __fwprintf_chk c
-__fwprintf_chkieee128 c
-__fwprintfieee128 c
 __fwritable c
 __fwriting c
-__fwscanfieee128 c
 __fxstat c
 __fxstat64 c
 __fxstatat c
@@ -481,7 +403,6 @@ __gethostname_chk c
 __getlogin_r_chk c
 __getmntent_r c
 __getpagesize c
-__getpayloadieee128 m
 __getpgid c
 __getpid c
 __gets_chk c
@@ -497,9 +418,7 @@ __h_errno_location c
 __hypot_finite m
 __hypotf128_finite m
 __hypotf_finite m
-__hypotieee128 m
 __hypotl_finite m
-__ilogbieee128 m
 __isalnum_l c
 __isalpha_l c
 __isascii_l c
@@ -523,29 +442,17 @@ __isnanf c
 __isnanf128 m
 __isnanl c
 __isoc99_fscanf c
-__isoc99_fscanfieee128 c
 __isoc99_fwscanf c
-__isoc99_fwscanfieee128 c
 __isoc99_scanf c
-__isoc99_scanfieee128 c
 __isoc99_sscanf c
-__isoc99_sscanfieee128 c
 __isoc99_swscanf c
-__isoc99_swscanfieee128 c
 __isoc99_vfscanf c
-__isoc99_vfscanfieee128 c
 __isoc99_vfwscanf c
-__isoc99_vfwscanfieee128 c
 __isoc99_vscanf c
-__isoc99_vscanfieee128 c
 __isoc99_vsscanf c
-__isoc99_vsscanfieee128 c
 __isoc99_vswscanf c
-__isoc99_vswscanfieee128 c
 __isoc99_vwscanf c
-__isoc99_vwscanfieee128 c
 __isoc99_wscanf c
-__isoc99_wscanfieee128 c
 __isprint_l c
 __ispunct_l c
 __issignaling m
@@ -573,29 +480,23 @@ __ivaliduser c
 __j0_finite m
 __j0f128_finite m
 __j0f_finite m
-__j0ieee128 m
 __j0l_finite m
 __j1_finite m
 __j1f128_finite m
 __j1f_finite m
-__j1ieee128 m
 __j1l_finite m
 __jn_finite m
 __jnf128_finite m
 __jnf_finite m
-__jnieee128 m
 __jnl_finite m
 __key_decryptsession_pk_LOCAL c
 __key_encryptsession_pk_LOCAL c
 __key_gendes_LOCAL c
-__ldexpieee128 m
 __ledf2 c
 __lesf2 c
 __lgamma_r_finite m
 __lgammaf128_r_finite m
 __lgammaf_r_finite m
-__lgammaieee128 m
-__lgammaieee128_r m
 __lgammal_r_finite m
 __libc_allocate_rtsig c
 __libc_calloc c
@@ -611,34 +512,23 @@ __libc_memalign c
 __libc_pvalloc c
 __libc_realloc c
 __libc_sa_len c
-__libc_single_threaded c
 __libc_stack_end ld
 __libc_start_main c
 __libc_valloc c
 __libpthread_version_placeholder pthread
-__llogbieee128 m
-__llrintieee128 m
-__llroundieee128 m
 __log10_finite m
 __log10f128_finite m
 __log10f_finite m
-__log10ieee128 m
 __log10l_finite m
-__log1pieee128 m
 __log2_finite m
 __log2f128_finite m
 __log2f_finite m
-__log2ieee128 m
 __log2l_finite m
 __log_finite m
-__logbieee128 m
 __logf128_finite m
 __logf_finite m
-__logieee128 m
 __logl_finite m
 __longjmp_chk c
-__lrintieee128 m
-__lroundieee128 m
 __lseek c
 __lshrdi3 c
 __ltdf2 c
@@ -677,26 +567,17 @@ __memset_gg c
 __mips_fpu_getcw c
 __mips_fpu_setcw c
 __moddi3 c
-__modfieee128 m
 __monstartup c
 __morecore c
 __mq_open_2 rt
 __muldf3 c
 __mulsf3 c
-__nanieee128 m
 __nanosleep c
-__nearbyintieee128 m
 __nedf2 c
 __negdf2 c
 __negsf2 c
 __nesf2 c
 __newlocale c
-__nextafterieee128 m
-__nextdownieee128 m
-__nexttoward_to_ieee128 m
-__nexttowardf_to_ieee128 m
-__nexttowardieee128 m
-__nextupieee128 m
 __nl_langinfo_l c
 __nldbl__IO_fprintf c
 __nldbl__IO_printf c
@@ -809,11 +690,7 @@ __nss_hosts_lookup c
 __nss_next c
 __nss_passwd_lookup c
 __obstack_printf_chk c
-__obstack_printf_chkieee128 c
-__obstack_printfieee128 c
 __obstack_vprintf_chk c
-__obstack_vprintf_chkieee128 c
-__obstack_vprintfieee128 c
 __open c
 __open64 c
 __open64_2 c
@@ -829,7 +706,6 @@ __posix_getopt c
 __pow_finite m
 __powf128_finite m
 __powf_finite m
-__powieee128 m
 __powl_finite m
 __ppc_get_timebase_freq c
 __ppoll_chk c
@@ -837,10 +713,7 @@ __pread64 c
 __pread64_chk c
 __pread_chk c
 __printf_chk c
-__printf_chkieee128 c
 __printf_fp c
-__printf_sizeieee128 c
-__printfieee128 c
 __profile_frequency c
 __progname c
 __progname_full c
@@ -871,11 +744,6 @@ __pthread_unregister_cancel_restore pthread
 __pthread_unwind_next pthread
 __ptsname_r_chk c
 __pwrite64 c
-__qecvtieee128 c
-__qecvtieee128_r c
-__qfcvtieee128 c
-__qfcvtieee128_r c
-__qgcvtieee128 c
 __rawmemchr c
 __rcmd_errstr c
 __read c
@@ -894,17 +762,12 @@ __register_frame_table c
 __remainder_finite m
 __remainderf128_finite m
 __remainderf_finite m
-__remainderieee128 m
 __remainderl_finite m
-__remquoieee128 m
 __res_init c
 __res_nclose c
 __res_ninit c
 __res_randomid c
 __res_state c
-__rintieee128 m
-__roundevenieee128 m
-__roundieee128 m
 __rpc_thread_createerr c
 __rpc_thread_svc_fdset c
 __rpc_thread_svc_max_pollfd c
@@ -912,11 +775,7 @@ __rpc_thread_svc_pollfd c
 __sbrk c
 __scalb_finite m
 __scalbf_finite m
-__scalbieee128 m
 __scalbl_finite m
-__scalblnieee128 m
-__scalbnieee128 m
-__scanfieee128 c
 __sched_cpualloc c
 __sched_cpucount c
 __sched_cpufree c
@@ -930,8 +789,6 @@ __secure_getenv c
 __select c
 __send c
 __setmntent c
-__setpayloadieee128 m
-__setpayloadsigieee128 m
 __setpgid c
 __sigaction c
 __sigaddset c
@@ -942,34 +799,24 @@ __signbitf c
 __signbitf128 m
 __signbitl c
 __signgam m
-__significandieee128 m
 __sigpause c
 __sigsetjmp c
 __sigsuspend c
 __sim_disabled_exceptions c
 __sim_exceptions c
 __sim_round_mode c
-__sincosieee128 m
 __sinh_finite m
 __sinhf128_finite m
 __sinhf_finite m
-__sinhieee128 m
 __sinhl_finite m
-__sinieee128 m
 __snprintf_chk c
-__snprintf_chkieee128 c
-__snprintfieee128 c
 __sprintf_chk c
-__sprintf_chkieee128 c
-__sprintfieee128 c
 __sqrt_finite m
 __sqrtdf2 c
 __sqrtf128_finite m
 __sqrtf_finite m
-__sqrtieee128 m
 __sqrtl_finite m
 __sqrtsf2 c
-__sscanfieee128 c
 __stack_chk_fail c
 __stack_chk_guard ld
 __statfs c
@@ -1002,9 +849,6 @@ __strcspn_g c
 __strdup c
 __strerror_r c
 __strfmon_l c
-__strfmon_lieee128 c
-__strfmonieee128 c
-__strfromieee128 c
 __strftime_l c
 __strlen_g c
 __strncasecmp_l c
@@ -1039,8 +883,6 @@ __strtod_l c
 __strtof128_internal c
 __strtof_internal c
 __strtof_l c
-__strtoieee128 c
-__strtoieee128_l c
 __strtok_r c
 __strtok_r_1c c
 __strtol_internal c
@@ -1060,93 +902,48 @@ __strxfrm_l c
 __subdf3 c
 __subsf3 c
 __swprintf_chk c
-__swprintf_chkieee128 c
-__swprintfieee128 c
-__swscanfieee128 c
 __sysconf c
 __sysctl c
 __syslog_chk c
-__syslog_chkieee128 c
-__syslogieee128 c
 __sysv_signal c
-__tanhieee128 m
-__tanieee128 m
-__tgammaieee128 m
 __timezone c
 __tls_get_addr ld
 __tls_get_addr_opt ld
 __tls_get_offset ld
 __toascii_l c
 __tolower_l c
-__totalorderieee128 m
-__totalordermagieee128 m
 __toupper_l c
 __towctrans c
 __towctrans_l c
 __towlower_l c
 __towupper_l c
 __truncdfsf2 c
-__truncieee128 m
 __ttyname_r_chk c
 __tzname c
 __ucmpdi2 c
 __udivdi3 c
 __uflow c
-__ufromfpieee128 m
-__ufromfpxieee128 m
 __umoddi3 c
 __underflow c
 __unorddf2 c
 __unordsf2 c
 __uselocale c
 __vasprintf_chk c
-__vasprintf_chkieee128 c
-__vasprintfieee128 c
 __vdprintf_chk c
-__vdprintf_chkieee128 c
-__vdprintfieee128 c
-__verrieee128 c
-__verrxieee128 c
 __vfork c
 __vfprintf_chk c
-__vfprintf_chkieee128 c
-__vfprintfieee128 c
 __vfscanf c
-__vfscanfieee128 c
 __vfwprintf_chk c
-__vfwprintf_chkieee128 c
-__vfwprintfieee128 c
-__vfwscanfieee128 c
 __vprintf_chk c
-__vprintf_chkieee128 c
-__vprintfieee128 c
-__vscanfieee128 c
 __vsnprintf c
 __vsnprintf_chk c
-__vsnprintf_chkieee128 c
-__vsnprintfieee128 c
 __vsprintf_chk c
-__vsprintf_chkieee128 c
-__vsprintfieee128 c
 __vsscanf c
-__vsscanfieee128 c
 __vswprintf_chk c
-__vswprintf_chkieee128 c
-__vswprintfieee128 c
-__vswscanfieee128 c
 __vsyslog_chk c
-__vsyslog_chkieee128 c
-__vsyslogieee128 c
-__vwarnieee128 c
-__vwarnxieee128 c
 __vwprintf_chk c
-__vwprintf_chkieee128 c
-__vwprintfieee128 c
-__vwscanfieee128 c
 __wait c
 __waitpid c
-__warnieee128 c
-__warnxieee128 c
 __wcpcpy_chk c
 __wcpncpy_chk c
 __wcrtomb_chk c
@@ -1165,8 +962,6 @@ __wcstod_l c
 __wcstof128_internal c
 __wcstof_internal c
 __wcstof_l c
-__wcstoieee128 c
-__wcstoieee128_l c
 __wcstol_internal c
 __wcstol_l c
 __wcstold_internal c
@@ -1188,10 +983,7 @@ __wmempcpy_chk c
 __wmemset_chk c
 __woverflow c
 __wprintf_chk c
-__wprintf_chkieee128 c
-__wprintfieee128 c
 __write c
-__wscanfieee128 c
 __wuflow c
 __wunderflow c
 __xmknod c
@@ -1204,17 +996,14 @@ __xstat64 c
 __y0_finite m
 __y0f128_finite m
 __y0f_finite m
-__y0ieee128 m
 __y0l_finite m
 __y1_finite m
 __y1f128_finite m
 __y1f_finite m
-__y1ieee128 m
 __y1l_finite m
 __yn_finite m
 __ynf128_finite m
 __ynf_finite m
-__ynieee128 m
 __ynl_finite m
 _authenticate c
 _dl_mcount ld
@@ -2938,19 +2727,17 @@ pthread_attr_getinheritsched c
 pthread_attr_getschedparam c
 pthread_attr_getschedpolicy c
 pthread_attr_getscope c
-pthread_attr_getsigmask_np c
 pthread_attr_getstack pthread
 pthread_attr_getstackaddr pthread
 pthread_attr_getstacksize pthread
 pthread_attr_init c
-pthread_attr_setaffinity_np c
+pthread_attr_setaffinity_np pthread
 pthread_attr_setdetachstate c
 pthread_attr_setguardsize pthread
 pthread_attr_setinheritsched c
 pthread_attr_setschedparam c
 pthread_attr_setschedpolicy c
 pthread_attr_setscope c
-pthread_attr_setsigmask_np c
 pthread_attr_setstack pthread
 pthread_attr_setstackaddr pthread
 pthread_attr_setstacksize pthread
@@ -2980,9 +2767,9 @@ pthread_create pthread
 pthread_detach pthread
 pthread_equal c
 pthread_exit c
-pthread_getaffinity_np c
+pthread_getaffinity_np pthread
 pthread_getattr_default_np pthread
-pthread_getattr_np c
+pthread_getattr_np pthread
 pthread_getconcurrency pthread
 pthread_getcpuclockid pthread
 pthread_getname_np pthread
@@ -3048,7 +2835,7 @@ pthread_setname_np pthread
 pthread_setschedparam c
 pthread_setschedprio pthread
 pthread_setspecific pthread
-pthread_sigmask c
+pthread_sigmask pthread
 pthread_sigqueue pthread
 pthread_spin_destroy pthread
 pthread_spin_init pthread
@@ -3353,14 +3140,12 @@ shmctl c
 shmdt c
 shmget c
 shutdown c
-sigabbrev_np c
 sigaction c
 sigaddset c
 sigaltstack c
 sigandset c
 sigblock c
 sigdelset c
-sigdescr_np c
 sigemptyset c
 sigfillset c
 siggetmask c
@@ -3466,8 +3251,6 @@ strdup c
 strerror c
 strerror_l c
 strerror_r c
-strerrordesc_np c
-strerrorname_np c
 strfmon c
 strfmon_l c
 strfromd c
lib/libc/glibc/vers.txt
@@ -40,4 +40,3 @@ GLIBC_2.28
 GLIBC_2.29
 GLIBC_2.30
 GLIBC_2.31
-GLIBC_2.32
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h
@@ -53,23 +53,4 @@
 #define HWCAP_SSBS		(1 << 28)
 #define HWCAP_SB		(1 << 29)
 #define HWCAP_PACA		(1 << 30)
-#define HWCAP_PACG		(1UL << 31)
-
-#define HWCAP2_DCPODP		(1 << 0)
-#define HWCAP2_SVE2		(1 << 1)
-#define HWCAP2_SVEAES		(1 << 2)
-#define HWCAP2_SVEPMULL		(1 << 3)
-#define HWCAP2_SVEBITPERM	(1 << 4)
-#define HWCAP2_SVESHA3		(1 << 5)
-#define HWCAP2_SVESM4		(1 << 6)
-#define HWCAP2_FLAGM2		(1 << 7)
-#define HWCAP2_FRINT		(1 << 8)
-#define HWCAP2_SVEI8MM		(1 << 9)
-#define HWCAP2_SVEF32MM		(1 << 10)
-#define HWCAP2_SVEF64MM		(1 << 11)
-#define HWCAP2_SVEBF16		(1 << 12)
-#define HWCAP2_I8MM		(1 << 13)
-#define HWCAP2_BF16		(1 << 14)
-#define HWCAP2_DGH		(1 << 15)
-#define HWCAP2_RNG		(1 << 16)
-#define HWCAP2_BTI		(1 << 17)
\ No newline at end of file
+#define HWCAP_PACG		(1UL << 31)
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/typesizes.h
@@ -26,45 +26,31 @@
 
 /* See <bits/types.h> for the meaning of these macros.  This file exists so
    that <bits/types.h> need not vary across different GNU platforms.  */
-#if __TIMESIZE == 64 && __WORDSIZE == 32
-/* These are the "new" y2038 types defined for architectures added after
-   the 5.1 kernel.  */
-# define __INO_T_TYPE		__UQUAD_TYPE
-# define __OFF_T_TYPE		__SQUAD_TYPE
-# define __RLIM_T_TYPE		__UQUAD_TYPE
-# define __BLKCNT_T_TYPE	__SQUAD_TYPE
-# define __FSBLKCNT_T_TYPE	__UQUAD_TYPE
-# define __FSFILCNT_T_TYPE	__UQUAD_TYPE
-# define __TIME_T_TYPE		__SQUAD_TYPE
-# define __SUSECONDS_T_TYPE	__SQUAD_TYPE
-#else
-# define __INO_T_TYPE		__ULONGWORD_TYPE
-# define __OFF_T_TYPE		__SLONGWORD_TYPE
-# define __RLIM_T_TYPE		__ULONGWORD_TYPE
-# define __BLKCNT_T_TYPE	__SLONGWORD_TYPE
-# define __FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
-# define __FSFILCNT_T_TYPE	__ULONGWORD_TYPE
-# define __TIME_T_TYPE		__SLONGWORD_TYPE
-# define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
-#endif
 
 #define __DEV_T_TYPE		__UQUAD_TYPE
 #define __UID_T_TYPE		__U32_TYPE
 #define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
 #define __INO64_T_TYPE		__UQUAD_TYPE
 #define __MODE_T_TYPE		__U32_TYPE
 #define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
 #define __OFF64_T_TYPE		__SQUAD_TYPE
 #define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
 #define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
 #define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -76,7 +62,7 @@
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 #define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
 
-#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
+#ifdef __LP64__
 /* Tell the libc code that off_t and off64_t are actually the same type
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
@@ -90,17 +76,11 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
-
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/aarch64-linux-gnu/gnu/stubs-lp64.h
@@ -15,7 +15,10 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
-#define __stub_stty
\ No newline at end of file
+#define __stub_sstk
+#define __stub_stty
+#define __stub_sysctl
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h
@@ -53,23 +53,4 @@
 #define HWCAP_SSBS		(1 << 28)
 #define HWCAP_SB		(1 << 29)
 #define HWCAP_PACA		(1 << 30)
-#define HWCAP_PACG		(1UL << 31)
-
-#define HWCAP2_DCPODP		(1 << 0)
-#define HWCAP2_SVE2		(1 << 1)
-#define HWCAP2_SVEAES		(1 << 2)
-#define HWCAP2_SVEPMULL		(1 << 3)
-#define HWCAP2_SVEBITPERM	(1 << 4)
-#define HWCAP2_SVESHA3		(1 << 5)
-#define HWCAP2_SVESM4		(1 << 6)
-#define HWCAP2_FLAGM2		(1 << 7)
-#define HWCAP2_FRINT		(1 << 8)
-#define HWCAP2_SVEI8MM		(1 << 9)
-#define HWCAP2_SVEF32MM		(1 << 10)
-#define HWCAP2_SVEF64MM		(1 << 11)
-#define HWCAP2_SVEBF16		(1 << 12)
-#define HWCAP2_I8MM		(1 << 13)
-#define HWCAP2_BF16		(1 << 14)
-#define HWCAP2_DGH		(1 << 15)
-#define HWCAP2_RNG		(1 << 16)
-#define HWCAP2_BTI		(1 << 17)
\ No newline at end of file
+#define HWCAP_PACG		(1UL << 31)
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h
@@ -26,45 +26,31 @@
 
 /* See <bits/types.h> for the meaning of these macros.  This file exists so
    that <bits/types.h> need not vary across different GNU platforms.  */
-#if __TIMESIZE == 64 && __WORDSIZE == 32
-/* These are the "new" y2038 types defined for architectures added after
-   the 5.1 kernel.  */
-# define __INO_T_TYPE		__UQUAD_TYPE
-# define __OFF_T_TYPE		__SQUAD_TYPE
-# define __RLIM_T_TYPE		__UQUAD_TYPE
-# define __BLKCNT_T_TYPE	__SQUAD_TYPE
-# define __FSBLKCNT_T_TYPE	__UQUAD_TYPE
-# define __FSFILCNT_T_TYPE	__UQUAD_TYPE
-# define __TIME_T_TYPE		__SQUAD_TYPE
-# define __SUSECONDS_T_TYPE	__SQUAD_TYPE
-#else
-# define __INO_T_TYPE		__ULONGWORD_TYPE
-# define __OFF_T_TYPE		__SLONGWORD_TYPE
-# define __RLIM_T_TYPE		__ULONGWORD_TYPE
-# define __BLKCNT_T_TYPE	__SLONGWORD_TYPE
-# define __FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
-# define __FSFILCNT_T_TYPE	__ULONGWORD_TYPE
-# define __TIME_T_TYPE		__SLONGWORD_TYPE
-# define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
-#endif
 
 #define __DEV_T_TYPE		__UQUAD_TYPE
 #define __UID_T_TYPE		__U32_TYPE
 #define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
 #define __INO64_T_TYPE		__UQUAD_TYPE
 #define __MODE_T_TYPE		__U32_TYPE
 #define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
 #define __OFF64_T_TYPE		__SQUAD_TYPE
 #define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
 #define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
 #define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -76,7 +62,7 @@
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 #define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
 
-#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
+#ifdef __LP64__
 /* Tell the libc code that off_t and off64_t are actually the same type
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
@@ -90,17 +76,11 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
-
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs-lp64_be.h
@@ -15,7 +15,10 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
-#define __stub_stty
\ No newline at end of file
+#define __stub_sstk
+#define __stub_stty
+#define __stub_sysctl
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/long-double.h
@@ -37,17 +37,4 @@
 #ifndef __NO_LONG_DOUBLE_MATH
 # define __NO_LONG_DOUBLE_MATH	1
 #endif
-
-/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
-   choice of the underlying ABI of long double.  It will always assume
-   a constant value for each translation unit.
-
-   If the value is non-zero, any API which is parameterized by the long
-   double type (i.e the scanf/printf family of functions or the explicitly
-   parameterized math.h functions) will be redirected to a compatible
-   implementation using _Float128 ABI via symbols suffixed with ieee128.
-
-   The mechanism this macro uses to acquire may be a function
-   of architecture, or target specific options used to invoke the
-   compiler.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/semaphore.h
@@ -1,5 +1,4 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +12,16 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
 
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T	32
-#else
-# define __SIZEOF_SEM_T	16
-#endif
+#define __SIZEOF_SEM_T	16
+
 
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
lib/libc/include/arm-linux-gnueabihf/bits/long-double.h
@@ -37,17 +37,4 @@
 #ifndef __NO_LONG_DOUBLE_MATH
 # define __NO_LONG_DOUBLE_MATH	1
 #endif
-
-/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
-   choice of the underlying ABI of long double.  It will always assume
-   a constant value for each translation unit.
-
-   If the value is non-zero, any API which is parameterized by the long
-   double type (i.e the scanf/printf family of functions or the explicitly
-   parameterized math.h functions) will be redirected to a compatible
-   implementation using _Float128 ABI via symbols suffixed with ieee128.
-
-   The mechanism this macro uses to acquire may be a function
-   of architecture, or target specific options used to invoke the
-   compiler.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/semaphore.h
@@ -1,5 +1,4 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +12,16 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
 
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T	32
-#else
-# define __SIZEOF_SEM_T	16
-#endif
+#define __SIZEOF_SEM_T	16
+
 
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
lib/libc/include/armeb-linux-gnueabi/bits/long-double.h
@@ -37,17 +37,4 @@
 #ifndef __NO_LONG_DOUBLE_MATH
 # define __NO_LONG_DOUBLE_MATH	1
 #endif
-
-/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
-   choice of the underlying ABI of long double.  It will always assume
-   a constant value for each translation unit.
-
-   If the value is non-zero, any API which is parameterized by the long
-   double type (i.e the scanf/printf family of functions or the explicitly
-   parameterized math.h functions) will be redirected to a compatible
-   implementation using _Float128 ABI via symbols suffixed with ieee128.
-
-   The mechanism this macro uses to acquire may be a function
-   of architecture, or target specific options used to invoke the
-   compiler.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/semaphore.h
@@ -1,5 +1,4 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +12,16 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
 
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T	32
-#else
-# define __SIZEOF_SEM_T	16
-#endif
+#define __SIZEOF_SEM_T	16
+
 
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h
@@ -37,17 +37,4 @@
 #ifndef __NO_LONG_DOUBLE_MATH
 # define __NO_LONG_DOUBLE_MATH	1
 #endif
-
-/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
-   choice of the underlying ABI of long double.  It will always assume
-   a constant value for each translation unit.
-
-   If the value is non-zero, any API which is parameterized by the long
-   double type (i.e the scanf/printf family of functions or the explicitly
-   parameterized math.h functions) will be redirected to a compatible
-   implementation using _Float128 ABI via symbols suffixed with ieee128.
-
-   The mechanism this macro uses to acquire may be a function
-   of architecture, or target specific options used to invoke the
-   compiler.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/semaphore.h
@@ -1,5 +1,4 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +12,16 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
 
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T	32
-#else
-# define __SIZEOF_SEM_T	16
-#endif
+#define __SIZEOF_SEM_T	16
+
 
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
lib/libc/include/generic-glibc/bits/a.out.h
@@ -2,10 +2,6 @@
 # error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
 #endif
 
-#ifdef __x86_64__
-
 /* Signal to users of this header that this architecture really doesn't
    support a.out binary format.  */
-#define __NO_A_OUT_SUPPORT 1
-
-#endif
\ No newline at end of file
+#define __NO_A_OUT_SUPPORT 1
\ No newline at end of file
lib/libc/include/generic-glibc/bits/endianness.h
@@ -5,7 +5,12 @@
 # error "Never use <bits/endianness.h> directly; include <endian.h> instead."
 #endif
 
-/* i386/x86_64 are little-endian.  */
-#define __BYTE_ORDER __LITTLE_ENDIAN
+/* MIPS has selectable endianness.  */
+#ifdef __MIPSEB
+# define __BYTE_ORDER __BIG_ENDIAN
+#endif
+#ifdef __MIPSEL
+# define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
 
 #endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/environments.h
@@ -41,16 +41,13 @@
 
 #if __WORDSIZE == 64
 
-/* Environments with 32-bit wide pointers are optionally provided.
-   Therefore following macros aren't defined:
-   # undef _POSIX_V7_ILP32_OFF32
-   # undef _POSIX_V7_ILP32_OFFBIG
-   # undef _POSIX_V6_ILP32_OFF32
-   # undef _POSIX_V6_ILP32_OFFBIG
-   # undef _XBS5_ILP32_OFF32
-   # undef _XBS5_ILP32_OFFBIG
-   and users need to check at runtime.  */
-
+/* We can never provide environments with 32-bit wide pointers.  */
+# define _POSIX_V7_ILP32_OFF32	-1
+# define _POSIX_V7_ILP32_OFFBIG	-1
+# define _POSIX_V6_ILP32_OFF32	-1
+# define _POSIX_V6_ILP32_OFFBIG	-1
+# define _XBS5_ILP32_OFF32	-1
+# define _XBS5_ILP32_OFFBIG	-1
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
 # define _POSIX_V7_LPBIG_OFFBIG	-1
@@ -64,42 +61,27 @@
 
 #else /* __WORDSIZE == 32 */
 
-/* We have 32-bit wide `int', `long int' and pointers and all platforms
-   support LFS.  -mx32 has 64-bit wide `off_t'.  */
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32	1
 # define _POSIX_V7_ILP32_OFFBIG	1
-# define _POSIX_V6_ILP32_OFFBIG 1
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
+# define _XBS5_ILP32_OFF32	1
 # define _XBS5_ILP32_OFFBIG	1
 
-# ifndef __x86_64__
-/* -m32 has 32-bit wide `off_t'.  */
-#  define _POSIX_V7_ILP32_OFF32	1
-#  define _POSIX_V6_ILP32_OFF32	1
-#  define _XBS5_ILP32_OFF32	1
-# endif
-
 /* We optionally provide an environment with the above size but an 64-bit
    side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
-/* Environments with 64-bit wide pointers can be provided,
-   so these macros aren't defined:
-   # undef _POSIX_V7_LP64_OFF64
-   # undef _POSIX_V7_LPBIG_OFFBIG
-   # undef _POSIX_V6_LP64_OFF64
-   # undef _POSIX_V6_LPBIG_OFFBIG
-   # undef _XBS5_LP64_OFF64
-   # undef _XBS5_LPBIG_OFFBIG
-   and sysconf tests for it at runtime.  */
-
-#endif /* __WORDSIZE == 32 */
-
-#define __ILP32_OFF32_CFLAGS	"-m32"
-#define __ILP32_OFF32_LDFLAGS	"-m32"
-#if defined __x86_64__ && defined __ILP32__
-# define __ILP32_OFFBIG_CFLAGS	"-mx32"
-# define __ILP32_OFFBIG_LDFLAGS	"-mx32"
-#else
-# define __ILP32_OFFBIG_CFLAGS	"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-# define __ILP32_OFFBIG_LDFLAGS	"-m32"
-#endif
-#define __LP64_OFF64_CFLAGS	"-m64"
-#define __LP64_OFF64_LDFLAGS	"-m64"
\ No newline at end of file
+/* We can never provide environments with 64-bit wide pointers.  */
+# define _POSIX_V7_LP64_OFF64	-1
+# define _POSIX_V7_LPBIG_OFFBIG	-1
+# define _POSIX_V6_LP64_OFF64	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LP64_OFF64	-1
+# define _XBS5_LPBIG_OFFBIG	-1
+
+/* CFLAGS.  */
+#define __ILP32_OFFBIG_CFLAGS   "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
+#endif /* __WORDSIZE == 32 */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/epoll.h
@@ -24,6 +24,4 @@ enum
   {
     EPOLL_CLOEXEC = 02000000
 #define EPOLL_CLOEXEC EPOLL_CLOEXEC
-  };
-
-#define __EPOLL_PACKED __attribute__ ((__packed__))
\ No newline at end of file
+  };
\ No newline at end of file
lib/libc/include/generic-glibc/bits/fcntl-linux.h
@@ -290,8 +290,7 @@ struct f_owner_ex
 
 #ifdef __USE_GNU
 /* Hint values for F_{GET,SET}_RW_HINT.  */
-# define RWH_WRITE_LIFE_NOT_SET	0
-# define RWF_WRITE_LIFE_NOT_SET	RWH_WRITE_LIFE_NOT_SET
+# define RWF_WRITE_LIFE_NOT_SET	0
 # define RWH_WRITE_LIFE_NONE	1
 # define RWH_WRITE_LIFE_SHORT	2
 # define RWH_WRITE_LIFE_MEDIUM	3
lib/libc/include/generic-glibc/bits/fcntl.h
@@ -1,5 +1,5 @@
-/* O_*, F_*, FD_* bit values for Linux/x86.
-   Copyright (C) 2001-2020 Free Software Foundation, Inc.
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,24 +13,56 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
-#ifndef _FCNTL_H
+#ifndef	_FCNTL_H
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
 #endif
 
-#ifdef __x86_64__
-# define __O_LARGEFILE	0
+#include <sgidefs.h>
+
+#define O_APPEND	 0x0008
+#define O_SYNC		 0x4010
+#define O_NONBLOCK	 0x0080
+#define O_CREAT		 0x0100	/* not fcntl */
+#define O_TRUNC		 0x0200	/* not fcntl */
+#define O_EXCL		 0x0400	/* not fcntl */
+#define O_NOCTTY	 0x0800	/* not fcntl */
+#define O_ASYNC		 0x1000
+
+#define __O_DIRECT	 0x8000	/* Direct disk access hint.  */
+#define __O_DSYNC	 0x0010	/* Synchronize data.  */
+
+#if _MIPS_SIM == _ABI64
+/* Not necessary, files are always with 64bit off_t.  */
+# define __O_LARGEFILE  0
+#else
+# define __O_LARGEFILE	0x2000	/* Allow large file opens.  */
 #endif
 
-#ifdef __x86_64__
-/* Not necessary, we always have 64-bit offsets.  */
-# define F_GETLK64	5	/* Get record locking info.  */
-# define F_SETLK64	6	/* Set record locking info (non-blocking).  */
-# define F_SETLKW64	7	/* Set record locking info (blocking).	*/
+#ifndef __USE_FILE_OFFSET64
+# define F_GETLK	14	/* Get record locking info.  */
+# define F_SETLK	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW	7	/* Set record locking info (blocking).	*/
+#else
+# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
+# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
+# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
 #endif
 
+#if _MIPS_SIM != _ABI64
+# define F_GETLK64	33	/* Get record locking info.  */
+# define F_SETLK64	34	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	35	/* Set record locking info (blocking).	*/
+#else
+# define F_GETLK64	14	/* Get record locking info.	*/
+# define F_SETLK64	6	/* Set record locking info (non-blocking).*/
+# define F_SETLKW64	7	/* Set record locking info (blocking).  */
+#endif
+
+#define __F_SETOWN	24	/* Get owner (process receiving SIGIO).  */
+#define __F_GETOWN	23	/* Set owner (process receiving SIGIO).  */
 
 struct flock
   {
@@ -39,12 +71,23 @@ struct flock
 #ifndef __USE_FILE_OFFSET64
     __off_t l_start;	/* Offset where the lock begins.  */
     __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+#if _MIPS_SIM != _ABI64
+    /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
+       fcntls in o32 and n32, never has this field.  */
+    long int l_sysid;
+#endif
 #else
     __off64_t l_start;	/* Offset where the lock begins.  */
     __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
 #endif
     __pid_t l_pid;	/* Process holding the lock.  */
+#if ! defined __USE_FILE_OFFSET64 && _MIPS_SIM != _ABI64
+    /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
+       flock in o32 and n32, never has this field.  */
+    long int __glibc_reserved0[4];
+#endif
   };
+typedef struct flock flock_t;
 
 #ifdef __USE_LARGEFILE64
 struct flock64
lib/libc/include/generic-glibc/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,104 +12,101 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _FENV_H
 # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
 #endif
 
+
+#ifdef __mips_hard_float
+
 /* Define bits representing the exception.  We use the bit positions
    of the appropriate bits in the FPU control word.  */
 enum
   {
-    FE_INVALID =
-#define FE_INVALID	0x01
-      FE_INVALID,
-    __FE_DENORM = 0x02,
-    FE_DIVBYZERO =
-#define FE_DIVBYZERO	0x04
-      FE_DIVBYZERO,
-    FE_OVERFLOW =
-#define FE_OVERFLOW	0x08
-      FE_OVERFLOW,
+    FE_INEXACT =
+# define FE_INEXACT	0x04
+      FE_INEXACT,
     FE_UNDERFLOW =
-#define FE_UNDERFLOW	0x10
+# define FE_UNDERFLOW	0x08
       FE_UNDERFLOW,
-    FE_INEXACT =
-#define FE_INEXACT	0x20
-      FE_INEXACT
+    FE_OVERFLOW =
+# define FE_OVERFLOW	0x10
+      FE_OVERFLOW,
+    FE_DIVBYZERO =
+# define FE_DIVBYZERO	0x20
+      FE_DIVBYZERO,
+    FE_INVALID =
+# define FE_INVALID	0x40
+      FE_INVALID,
   };
 
-#define FE_ALL_EXCEPT \
+# define FE_ALL_EXCEPT \
 	(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
 
-/* The ix87 FPU supports all of the four defined rounding modes.  We
+/* The MIPS FPU supports all of the four defined rounding modes.  We
    use again the bit positions in the FPU control word as the values
    for the appropriate macros.  */
 enum
   {
     FE_TONEAREST =
-#define FE_TONEAREST	0
+# define FE_TONEAREST	0x0
       FE_TONEAREST,
-    FE_DOWNWARD =
-#define FE_DOWNWARD	0x400
-      FE_DOWNWARD,
+    FE_TOWARDZERO =
+# define FE_TOWARDZERO	0x1
+      FE_TOWARDZERO,
     FE_UPWARD =
-#define FE_UPWARD	0x800
+# define FE_UPWARD	0x2
       FE_UPWARD,
-    FE_TOWARDZERO =
-#define FE_TOWARDZERO	0xc00
-      FE_TOWARDZERO
+    FE_DOWNWARD =
+# define FE_DOWNWARD	0x3
+      FE_DOWNWARD
   };
 
+#else
+
+/* In the soft-float case, only rounding to nearest is supported, with
+   no exceptions.  */
+
+enum
+  {
+    __FE_UNDEFINED = -1,
+
+    FE_TONEAREST =
+# define FE_TONEAREST	0x0
+      FE_TONEAREST
+  };
+
+# define FE_ALL_EXCEPT 0
+
+#endif
+
 
 /* Type representing exception flags.  */
 typedef unsigned short int fexcept_t;
 
 
-/* Type representing floating-point environment.  This structure
-   corresponds to the layout of the block written by the `fstenv'
-   instruction and has additional fields for the contents of the MXCSR
-   register as written by the `stmxcsr' instruction.  */
+/* Type representing floating-point environment.  This function corresponds
+   to the layout of the block written by the `fstenv'.  */
 typedef struct
   {
-    unsigned short int __control_word;
-    unsigned short int __glibc_reserved1;
-    unsigned short int __status_word;
-    unsigned short int __glibc_reserved2;
-    unsigned short int __tags;
-    unsigned short int __glibc_reserved3;
-    unsigned int __eip;
-    unsigned short int __cs_selector;
-    unsigned int __opcode:11;
-    unsigned int __glibc_reserved4:5;
-    unsigned int __data_offset;
-    unsigned short int __data_selector;
-    unsigned short int __glibc_reserved5;
-#ifdef __x86_64__
-    unsigned int __mxcsr;
-#endif
+    unsigned int __fp_control_register;
   }
 fenv_t;
 
 /* If the default argument is used we use this value.  */
 #define FE_DFL_ENV	((const fenv_t *) -1)
 
-#ifdef __USE_GNU
+#if defined __USE_GNU && defined __mips_hard_float
 /* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV	((const fenv_t *) -2)
+# define FE_NOMASK_ENV  ((const fenv_t *) -2)
 #endif
 
 #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
-typedef struct
-  {
-    unsigned short int __control_word;
-    unsigned short int __glibc_reserved;
-    unsigned int __mxcsr;
-  }
-femode_t;
+typedef unsigned int femode_t;
 
 /* Default floating-point control modes.  */
 # define FE_DFL_MODE	((const femode_t *) -1L)
lib/libc/include/generic-glibc/bits/fenvinline.h
@@ -0,0 +1,8 @@
+/* This file provides inline versions of floating-pint environment
+   handling functions.  If there were any.  */
+
+#ifndef __NO_MATH_INLINES
+
+/* Here is where the code would go.  */
+
+#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/floatn.h
@@ -1,4 +1,4 @@
-/* Macros to control TS 18661-3 glibc features on x86.
+/* Macros to control TS 18661-3 glibc features on MIPS platforms.
    Copyright (C) 2017-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,38 +20,35 @@
 #define _BITS_FLOATN_H
 
 #include <features.h>
+#include <bits/long-double.h>
 
 /* Defined to 1 if the current compiler invocation provides a
    floating-point type with the IEEE 754 binary128 format, and this
-   glibc includes corresponding *f128 interfaces for it.  The required
-   libgcc support was added some time after the basic compiler
-   support, for x86_64 and x86.  */
-#if (defined __x86_64__							\
-     ? __GNUC_PREREQ (4, 3)						\
-     : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
+   glibc includes corresponding *f128 interfaces for it.  */
+#ifndef __NO_LONG_DOUBLE_MATH
 # define __HAVE_FLOAT128 1
 #else
+/* glibc does not support _Float128 for platforms where long double is
+   normally binary128 when building with long double as binary64.
+   GCC's default for supported scalar modes does not support it either
+   in that case.  */
 # define __HAVE_FLOAT128 0
 #endif
 
 /* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
    from the default float, double and long double types in this glibc.  */
-#if __HAVE_FLOAT128
-# define __HAVE_DISTINCT_FLOAT128 1
-#else
-# define __HAVE_DISTINCT_FLOAT128 0
-#endif
+#define __HAVE_DISTINCT_FLOAT128 0
 
 /* Defined to 1 if the current compiler invocation provides a
    floating-point type with the right format for _Float64x, and this
    glibc includes corresponding *f64x interfaces for it.  */
-#define __HAVE_FLOAT64X 1
+#define __HAVE_FLOAT64X __HAVE_FLOAT128
 
 /* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
    of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
    the format of _Float128, which must be different from that of long
    double.  */
-#define __HAVE_FLOAT64X_LONG_DOUBLE 1
+#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
 
 #ifndef __ASSEMBLER__
 
@@ -60,7 +57,7 @@
 # if __HAVE_FLOAT128
 #  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix f128 exists only since GCC 7.0.  */
-#   define __f128(x) x##q
+#   define __f128(x) x##l
 #  else
 #   define __f128(x) x##f128
 #  endif
@@ -69,10 +66,7 @@
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
 # if __HAVE_FLOAT128
 #  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-/* Add a typedef for older GCC compilers which don't natively support
-   _Complex _Float128.  */
-typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
-#   define __CFLOAT128 __cfloat128
+#   define __CFLOAT128 _Complex long double
 #  else
 #   define __CFLOAT128 _Complex _Float128
 #  endif
@@ -83,33 +77,15 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
 
 /* The type _Float128 exists only since GCC 7.0.  */
 #  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-typedef __float128 _Float128;
+typedef long double _Float128;
 #  endif
 
-/* __builtin_huge_valf128 doesn't exist before GCC 7.0.  */
+/* Various built-in functions do not exist before GCC 7.0.  */
 #  if !__GNUC_PREREQ (7, 0)
-#   define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
-#  endif
-
-/* Older GCC has only a subset of built-in functions for _Float128 on
-   x86, and __builtin_infq is not usable in static initializers.
-   Converting a narrower sNaN to _Float128 produces a quiet NaN, so
-   attempts to use _Float128 sNaNs will not work properly with older
-   compilers.  */
-#  if !__GNUC_PREREQ (7, 0)
-#   define __builtin_copysignf128 __builtin_copysignq
-#   define __builtin_fabsf128 __builtin_fabsq
-#   define __builtin_inff128() ((_Float128) __builtin_inf ())
-#   define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
-#   define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
-#  endif
-
-/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
-   e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
-   been a __builtin_signbitf128 in GCC and the type-generic builtin is
-   only available since GCC 6.  */
-#  if !__GNUC_PREREQ (6, 0)
-#   define __builtin_signbitf128 __signbitf128
+#   define __builtin_huge_valf128() (__builtin_huge_vall ())
+#   define __builtin_inff128() (__builtin_infl ())
+#   define __builtin_nanf128(x) (__builtin_nanl (x))
+#   define __builtin_nansf128(x) (__builtin_nansl (x))
 #  endif
 
 # endif
lib/libc/include/generic-glibc/bits/flt-eval-method.h
@@ -1,4 +1,4 @@
-/* Define __GLIBC_FLT_EVAL_METHOD.  x86 version.
+/* Define __GLIBC_FLT_EVAL_METHOD.
    Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,14 +20,23 @@
 # error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
 #endif
 
+/* __GLIBC_FLT_EVAL_METHOD is the value of FLT_EVAL_METHOD used to
+   determine the evaluation method typedefs such as float_t and
+   double_t.  It must be a value from C11 or TS 18661-3:2015, and not
+   -1.  */
+
+/* In the default version of this header, follow __FLT_EVAL_METHOD__.
+   -1 is mapped to 2 (considering evaluation as long double to be a
+   conservatively safe assumption), and if __FLT_EVAL_METHOD__ is not
+   defined then assume there is no excess precision and use the value
+   0.  */
+
 #ifdef __FLT_EVAL_METHOD__
 # if __FLT_EVAL_METHOD__ == -1
 #  define __GLIBC_FLT_EVAL_METHOD	2
 # else
 #  define __GLIBC_FLT_EVAL_METHOD	__FLT_EVAL_METHOD__
 # endif
-#elif defined __x86_64__
-# define __GLIBC_FLT_EVAL_METHOD	0
 #else
-# define __GLIBC_FLT_EVAL_METHOD	2
+# define __GLIBC_FLT_EVAL_METHOD	0
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/fp-logb.h
@@ -1,4 +1,4 @@
-/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.  x86 version.
+/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.
    Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,5 +20,9 @@
 # error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
 #endif
 
-#define __FP_LOGB0_IS_MIN	1
-#define __FP_LOGBNAN_IS_MIN	1
\ No newline at end of file
+/* __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if
+   it is -INT_MAX.  __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN
+   is INT_MIN, and 0 if it is INT_MAX.  */
+
+#define __FP_LOGB0_IS_MIN	0
+#define __FP_LOGBNAN_IS_MIN	0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/indirect-return.h
@@ -1,4 +1,4 @@
-/* Definition of __INDIRECT_RETURN.  x86 version.
+/* Definition of __INDIRECT_RETURN.  Generic version.
    Copyright (C) 2018-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,18 +20,6 @@
 # error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
 #endif
 
-/* On x86, swapcontext returns via indirect branch when the shadow stack
-   is enabled.  Define __INDIRECT_RETURN to indicate whether swapcontext
-   returns via indirect branch.  */
-#if defined __CET__ && (__CET__ & 2) != 0
-# if __glibc_has_attribute (__indirect_return__)
-#  define __INDIRECT_RETURN __attribute__ ((__indirect_return__))
-# else
-/* Newer compilers provide the indirect_return attribute, but without
-   it we can use returns_twice to affect the optimizer in the same
-   way and avoid unsafe optimizations.  */
-#  define __INDIRECT_RETURN __attribute__ ((__returns_twice__))
-# endif
-#else
-# define __INDIRECT_RETURN
-#endif
\ No newline at end of file
+/* __INDIRECT_RETURN is used on swapcontext to indicate if it requires
+   special compiler treatment.  */
+#define __INDIRECT_RETURN
\ No newline at end of file
lib/libc/include/generic-glibc/bits/ipctypes.h
@@ -1,5 +1,5 @@
-/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
-   Copyright (C) 2012-2020 Free Software Foundation, Inc.
+/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.  Generic.
+   Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,18 +16,21 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#ifndef _SYS_IPC_H
-# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
-#endif
+/*
+ * Never include <bits/ipctypes.h> directly.
+ */
 
 #ifndef _BITS_IPCTYPES_H
 #define _BITS_IPCTYPES_H	1
 
+#include <bits/types.h>
+
 /* Used in `struct shmid_ds'.  */
-# ifdef __x86_64__
-typedef int __ipc_pid_t;
-# else
+# if __WORDSIZE == 32
 typedef unsigned short int __ipc_pid_t;
+# else
+typedef int __ipc_pid_t;
 # endif
 
+
 #endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/iscanonical.h
@@ -1,4 +1,4 @@
-/* Define iscanonical macro.  ldbl-96 version.
+/* Define iscanonical macro.
    Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -20,35 +20,9 @@
 # error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
 #endif
 
-extern int __iscanonicall (long double __x)
-     __THROW __attribute__ ((__const__));
-#define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
-#define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
-#if __HAVE_DISTINCT_FLOAT128
-# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
-#endif
-
-/* Return nonzero value if X is canonical.  In IEEE interchange binary
-   formats, all values are canonical, but the argument must still be
-   converted to its semantic type for any exceptions arising from the
-   conversion, before being discarded; in extended precision, there
-   are encodings that are not consistently handled as corresponding to
-   any particular value of the type, and we return 0 for those.  */
-#ifndef __cplusplus
-# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
-#else
-/* In C++ mode, __MATH_TG cannot be used, because it relies on
-   __builtin_types_compatible_p, which is a C-only builtin.  On the
-   other hand, overloading provides the means to distinguish between
-   the floating-point types.  The overloading resolution will match
-   the correct parameter (regardless of type qualifiers (i.e.: const
-   and volatile)).  */
-extern "C++" {
-inline int iscanonical (float __val) { return __iscanonicalf (__val); }
-inline int iscanonical (double __val) { return __iscanonical (__val); }
-inline int iscanonical (long double __val) { return __iscanonicall (__val); }
-# if __HAVE_DISTINCT_FLOAT128
-inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
-# endif
-}
-#endif /* __cplusplus */
\ No newline at end of file
+/* Return nonzero value if X is canonical.  By default, we only have
+   IEEE interchange binary formats, in which all values are canonical,
+   but the argument must still be converted to its semantic type for
+   any exceptions arising from the conversion, before being
+   discarded.  */
+#define iscanonical(x) ((void) (__typeof (x)) (x), 1)
\ No newline at end of file
lib/libc/include/generic-glibc/bits/link.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,148 +12,106 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef	_LINK_H
 # error "Never include <bits/link.h> directly; use <link.h> instead."
 #endif
 
+#include <sgidefs.h>
 
-#ifndef __x86_64__
-/* Registers for entry into PLT on IA-32.  */
-typedef struct La_i86_regs
+#if _MIPS_SIM == _ABIO32
+
+/* Registers for entry into PLT on MIPS.  */
+typedef struct La_mips_32_regs
 {
-  uint32_t lr_edx;
-  uint32_t lr_ecx;
-  uint32_t lr_eax;
-  uint32_t lr_ebp;
-  uint32_t lr_esp;
-} La_i86_regs;
-
-/* Return values for calls from PLT on IA-32.  */
-typedef struct La_i86_retval
+  uint32_t lr_reg[4]; /* $a0 through $a3 */
+  double lr_fpreg[2]; /* $f12 and $f14 */
+  uint32_t lr_ra;
+  uint32_t lr_sp;
+} La_mips_32_regs;
+
+/* Return values for calls from PLT on MIPS.  */
+typedef struct La_mips_32_retval
 {
-  uint32_t lrv_eax;
-  uint32_t lrv_edx;
-  long double lrv_st0;
-  long double lrv_st1;
-  uint64_t lrv_bnd0;
-  uint64_t lrv_bnd1;
-} La_i86_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
-				       uintptr_t *__refcook,
-				       uintptr_t *__defcook,
-				       La_i86_regs *__regs,
-				       unsigned int *__flags,
-				       const char *__symname,
-				       long int *__framesizep);
-extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
-					uintptr_t *__refcook,
-					uintptr_t *__defcook,
-					const La_i86_regs *__inregs,
-					La_i86_retval *__outregs,
-					const char *symname);
-
-__END_DECLS
+  uint32_t lrv_v0;
+  uint32_t lrv_v1;
+  double lrv_f0;
+  double lrv_f2;
+} La_mips_32_retval;
 
 #else
 
-/* Registers for entry into PLT on x86-64.  */
-# if __GNUC_PREREQ (4,0)
-typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
-typedef float La_x86_64_ymm
-    __attribute__ ((__vector_size__ (32), __aligned__ (16)));
-typedef double La_x86_64_zmm
-    __attribute__ ((__vector_size__ (64), __aligned__ (16)));
-# else
-typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
-# endif
-
-typedef union
+typedef struct La_mips_64_regs
 {
-# if __GNUC_PREREQ (4,0)
-  La_x86_64_ymm ymm[2];
-  La_x86_64_zmm zmm[1];
-# endif
-  La_x86_64_xmm xmm[4];
-} La_x86_64_vector __attribute__ ((__aligned__ (16)));
-
-typedef struct La_x86_64_regs
+  uint64_t lr_reg[8]; /* $a0 through $a7 */
+  double lr_fpreg[8]; /* $f12 throgh $f19 */
+  uint64_t lr_ra;
+  uint64_t lr_sp;
+} La_mips_64_regs;
+
+/* Return values for calls from PLT on MIPS.  */
+typedef struct La_mips_64_retval
 {
-  uint64_t lr_rdx;
-  uint64_t lr_r8;
-  uint64_t lr_r9;
-  uint64_t lr_rcx;
-  uint64_t lr_rsi;
-  uint64_t lr_rdi;
-  uint64_t lr_rbp;
-  uint64_t lr_rsp;
-  La_x86_64_xmm lr_xmm[8];
-  La_x86_64_vector lr_vector[8];
-#ifndef __ILP32__
-  __int128_t lr_bnd[4];
-#endif
-} La_x86_64_regs;
+  uint64_t lrv_v0;
+  uint64_t lrv_v1;
+  double lrv_f0;
+  double lrv_f2;
+} La_mips_64_retval;
 
-/* Return values for calls from PLT on x86-64.  */
-typedef struct La_x86_64_retval
-{
-  uint64_t lrv_rax;
-  uint64_t lrv_rdx;
-  La_x86_64_xmm lrv_xmm0;
-  La_x86_64_xmm lrv_xmm1;
-  long double lrv_st0;
-  long double lrv_st1;
-  La_x86_64_vector lrv_vector0;
-  La_x86_64_vector lrv_vector1;
-#ifndef __ILP32__
-  __int128_t lrv_bnd0;
-  __int128_t lrv_bnd1;
 #endif
-} La_x86_64_retval;
-
-#define La_x32_regs La_x86_64_regs
-#define La_x32_retval La_x86_64_retval
 
 __BEGIN_DECLS
 
-extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
-					  unsigned int __ndx,
-					  uintptr_t *__refcook,
-					  uintptr_t *__defcook,
-					  La_x86_64_regs *__regs,
-					  unsigned int *__flags,
-					  const char *__symname,
-					  long int *__framesizep);
-extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
-					   unsigned int __ndx,
-					   uintptr_t *__refcook,
-					   uintptr_t *__defcook,
-					   const La_x86_64_regs *__inregs,
-					   La_x86_64_retval *__outregs,
-					   const char *__symname);
-
-extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
-				       unsigned int __ndx,
-				       uintptr_t *__refcook,
-				       uintptr_t *__defcook,
-				       La_x32_regs *__regs,
-				       unsigned int *__flags,
-				       const char *__symname,
-				       long int *__framesizep);
-extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
-					unsigned int __ndx,
-					uintptr_t *__refcook,
-					uintptr_t *__defcook,
-					const La_x32_regs *__inregs,
-					La_x32_retval *__outregs,
-					const char *__symname);
-
-__END_DECLS
-
-#endif
\ No newline at end of file
+#if _MIPS_SIM == _ABIO32
+
+extern Elf32_Addr la_mips_o32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
+					    uintptr_t *__refcook,
+					    uintptr_t *__defcook,
+					    La_mips_32_regs *__regs,
+					    unsigned int *__flags,
+					    const char *__symname,
+					    long int *__framesizep);
+extern unsigned int la_mips_o32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
+					     uintptr_t *__refcook,
+					     uintptr_t *__defcook,
+					     const La_mips_32_regs *__inregs,
+					     La_mips_32_retval *__outregs,
+					     const char *__symname);
+
+#elif _MIPS_SIM == _ABIN32
+
+extern Elf32_Addr la_mips_n32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
+					    uintptr_t *__refcook,
+					    uintptr_t *__defcook,
+					    La_mips_64_regs *__regs,
+					    unsigned int *__flags,
+					    const char *__symname,
+					    long int *__framesizep);
+extern unsigned int la_mips_n32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
+					     uintptr_t *__refcook,
+					     uintptr_t *__defcook,
+					     const La_mips_64_regs *__inregs,
+					     La_mips_64_retval *__outregs,
+					     const char *__symname);
+
+#else
+
+extern Elf64_Addr la_mips_n64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
+					    uintptr_t *__refcook,
+					    uintptr_t *__defcook,
+					    La_mips_64_regs *__regs,
+					    unsigned int *__flags,
+					    const char *__symname,
+					    long int *__framesizep);
+extern unsigned int la_mips_n64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
+					     uintptr_t *__refcook,
+					     uintptr_t *__defcook,
+					     const La_mips_64_regs *__inregs,
+					     La_mips_64_retval *__outregs,
+					     const char *__symname);
+
+#endif
+
+__END_DECLS
\ No newline at end of file
lib/libc/include/generic-glibc/bits/long-double.h
@@ -1,4 +1,4 @@
-/* Properties of long double type.  ldbl-96 version.
+/* Properties of long double type.  MIPS version.
    Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -16,6 +16,9 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* long double is distinct from double, so there is nothing to
-   define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#include <sgidefs.h>
+
+#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
+# define __NO_LONG_DOUBLE_MATH	1
+#endif
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/math-vector.h
@@ -4,7 +4,7 @@
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
+   License  published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
 
    The GNU C Library is distributed in the hope that it will be useful,
@@ -21,43 +21,7 @@
  include <math.h> instead."
 #endif
 
-/* Get default empty definitions for simd declarations.  */
-#include <bits/libm-simd-decl-stubs.h>
-
-#if defined __x86_64__ && defined __FAST_MATH__
-# if defined _OPENMP && _OPENMP >= 201307
-/* OpenMP case.  */
-#  define __DECL_SIMD_x86_64 _Pragma ("omp declare simd notinbranch")
-# elif __GNUC_PREREQ (6,0)
-/* W/o OpenMP use GCC 6.* __attribute__ ((__simd__)).  */
-#  define __DECL_SIMD_x86_64 __attribute__ ((__simd__ ("notinbranch")))
-# endif
-
-# ifdef __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_cos
-#  define __DECL_SIMD_cos __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_cosf
-#  define __DECL_SIMD_cosf __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_sin
-#  define __DECL_SIMD_sin __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_sinf
-#  define __DECL_SIMD_sinf __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_sincos
-#  define __DECL_SIMD_sincos __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_sincosf
-#  define __DECL_SIMD_sincosf __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_log
-#  define __DECL_SIMD_log __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_logf
-#  define __DECL_SIMD_logf __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_exp
-#  define __DECL_SIMD_exp __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_expf
-#  define __DECL_SIMD_expf __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_pow
-#  define __DECL_SIMD_pow __DECL_SIMD_x86_64
-#  undef __DECL_SIMD_powf
-#  define __DECL_SIMD_powf __DECL_SIMD_x86_64
-
-# endif
-#endif
\ No newline at end of file
+/* Get default empty definitions required for __MATHCALL_VEC unfolding.
+   Plaform-specific analogue of this header should redefine them with specific
+   SIMD declarations.  */
+#include <bits/libm-simd-decl-stubs.h>
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h
@@ -16,30 +16,28 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+
 /* Classify given number.  */
-__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
+__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
      __attribute__ ((__const__));
 
 /* Test for negative number.  */
-__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
+__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
      __attribute__ ((__const__));
 
 /* Return 0 if VALUE is finite or NaN, +1 if it
    is +Infinity, -1 if it is -Infinity.  */
-__MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int, __isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
 
 /* Return nonzero if VALUE is finite and not NaN.  Used by isfinite macro.  */
-__MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int, __finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
 
 /* Return nonzero if VALUE is not a number.  */
-__MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int, __isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
 
 /* Test equality.  */
-__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
+__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));
 
 /* Test for signaling NaN.  */
-__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
+__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))
      __attribute__ ((__const__));
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mathcalls.h
@@ -174,14 +174,12 @@ __MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
       && !__MATH_DECLARING_FLOATN
 /* Return 0 if VALUE is finite or NaN, +1 if it
    is +Infinity, -1 if it is -Infinity.  */
-__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
 # endif
 
 # if !__MATH_DECLARING_FLOATN
 /* Return nonzero if VALUE is finite and not NaN.  */
-__MATHDECL_ALIAS (int,finite,, (_Mdouble_ __value), finite)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
 
 /* Return the remainder of X/Y.  */
 __MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
@@ -210,8 +208,7 @@ __MATHCALL (nan,, (const char *__tagb));
        || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't.  */ \
       && !__MATH_DECLARING_FLOATN
 /* Return nonzero if VALUE is not a number.  */
-__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan)
-  __attribute__ ((__const__));
+__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
 # endif
 #endif
 
lib/libc/include/generic-glibc/bits/mathinline.h
@@ -0,0 +1,12 @@
+/* This file should provide inline versions of math functions.
+
+   Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
+
+   This file should define __MATH_INLINES if functions are actually defined as
+   inlines.  */
+
+#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
+
+/* Here goes the real code.  */
+
+#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mman-shared.h
@@ -24,7 +24,6 @@
 /* Flags for mremap.  */
 # define MREMAP_MAYMOVE	1
 # define MREMAP_FIXED	2
-# define MREMAP_DONTUNMAP 4
 
 /* Flags for memfd_create.  */
 # ifndef MFD_CLOEXEC
lib/libc/include/generic-glibc/bits/mman.h
@@ -1,5 +1,5 @@
-/* Definitions for POSIX memory map interface.  Linux/x86_64 version.
-   Copyright (C) 2001-2020 Free Software Foundation, Inc.
+/* Definitions for POSIX memory map interface.  Linux/generic version.
+   Copyright (C) 1997-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +13,18 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SYS_MMAN_H
 # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
 #endif
 
-/* The following definitions basically come from the kernel headers.
-   But the kernel header is not namespace clean.  */
-
-/* Other flags.  */
-#ifdef __USE_MISC
-# define MAP_32BIT	0x40		/* Only give out 32-bit addresses.  */
-#endif
+/* These definitions are appropriate for architectures that, in the
+   Linux kernel, either have no uapi/asm/mman.h, or have one that
+   includes asm-generic/mman.h without any changes or additions
+   relevant to glibc.  If there are additions relevant to glibc, an
+   architecture-specific bits/mman.h is needed.  */
 
 #include <bits/mman-map-flags-generic.h>
 
lib/libc/include/generic-glibc/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  Generic version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+/* On most architectures, padding goes after time fields for 32-bit
+   systems and is omitted for 64-bit systems.  Some architectures pad
+   before time fields instead, or omit padding despite being
+   32-bit.  */
+
+#define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+#define __MSQ_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/msq.h
@@ -20,12 +20,7 @@
 #endif
 
 #include <bits/types.h>
-
-/* Types used in the MSQID_DS structure definition.  */
-typedef __syscall_ulong_t msgqnum_t;
-typedef __syscall_ulong_t msglen_t;
-
-#include <bits/types/struct_msqid_ds.h>
+#include <bits/msq-pad.h>
 
 /* Define options for message queue functions.  */
 #define MSG_NOERROR	010000	/* no error if message is too big */
@@ -34,6 +29,38 @@ typedef __syscall_ulong_t msglen_t;
 # define MSG_COPY	040000	/* copy (not remove) all queue messages */
 #endif
 
+/* Types used in the structure definition.  */
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
+
+#if __MSQ_PAD_BEFORE_TIME
+# define __MSQ_PAD_TIME(NAME, RES)				\
+  unsigned long int __glibc_reserved ## RES; __time_t NAME
+#elif __MSQ_PAD_AFTER_TIME
+# define __MSQ_PAD_TIME(NAME, RES)				\
+  __time_t NAME; unsigned long int __glibc_reserved ## RES
+#else
+# define __MSQ_PAD_TIME(NAME, RES)		\
+  __time_t NAME
+#endif
+
+/* Structure of record for one message inside the kernel.
+   The type `struct msg' is opaque.  */
+struct msqid_ds
+{
+  struct ipc_perm msg_perm;	/* structure describing operation permission */
+  __MSQ_PAD_TIME (msg_stime, 1);	/* time of last msgsnd command */
+  __MSQ_PAD_TIME (msg_rtime, 2);	/* time of last msgrcv command */
+  __MSQ_PAD_TIME (msg_ctime, 3);	/* time of last change */
+  __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
+  msgqnum_t msg_qnum;		/* number of messages currently on queue */
+  msglen_t msg_qbytes;		/* max number of bytes allowed on queue */
+  __pid_t msg_lspid;		/* pid of last msgsnd() */
+  __pid_t msg_lrpid;		/* pid of last msgrcv() */
+  __syscall_ulong_t __glibc_reserved4;
+  __syscall_ulong_t __glibc_reserved5;
+};
+
 #ifdef __USE_MISC
 
 # define msg_cbytes	__msg_cbytes
lib/libc/include/generic-glibc/bits/procfs-id.h
@@ -1,4 +1,4 @@
-/* Types of pr_uid and pr_gid in struct elf_prpsinfo.  x86 version.
+/* Types of pr_uid and pr_gid in struct elf_prpsinfo.  Generic Linux version.
    Copyright (C) 2018-2020 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -21,10 +21,5 @@
 # error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
 #endif
 
-#if __WORDSIZE == 32
-typedef unsigned short int __pr_uid_t;
-typedef unsigned short int __pr_gid_t;
-#else
 typedef unsigned int __pr_uid_t;
-typedef unsigned int __pr_gid_t;
-#endif
\ No newline at end of file
+typedef unsigned int __pr_gid_t;
\ No newline at end of file
lib/libc/include/generic-glibc/bits/procfs.h
@@ -1,5 +1,5 @@
-/* Types for registers for sys/procfs.h.  x86 version.
-   Copyright (C) 2001-2020 Free Software Foundation, Inc.
+/* Types for registers for sys/procfs.h.  MIPS version.
+   Copyright (C) 1996-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,38 +13,25 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SYS_PROCFS_H
 # error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
 #endif
 
-/* Type for a general-purpose register.  */
-#ifdef __x86_64__
+#include <sgidefs.h>
+
+/* ELF register definitions */
+#define ELF_NGREG	45
+#define ELF_NFPREG	33
+
+#if _MIPS_SIM == _ABIN32
 __extension__ typedef unsigned long long elf_greg_t;
 #else
 typedef unsigned long elf_greg_t;
 #endif
-
-/* And the whole bunch of them.  We could have used `struct
-   user_regs_struct' directly in the typedef, but tradition says that
-   the register set is an array, which does have some peculiar
-   semantics, so leave it that way.  */
-#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 
-#ifndef __x86_64__
-/* Register set for the floating-point registers.  */
-typedef struct user_fpregs_struct elf_fpregset_t;
-
-/* Register set for the extended floating-point registers.  Includes
-   the Pentium III SSE registers in addition to the classic
-   floating-point stuff.  */
-typedef struct user_fpxregs_struct elf_fpxregset_t;
-#else
-/* Register set for the extended floating-point registers.  Includes
-   the Pentium III SSE registers in addition to the classic
-   floating-point stuff.  */
-typedef struct user_fpregs_struct elf_fpregset_t;
-#endif
\ No newline at end of file
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
\ No newline at end of file
lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h
@@ -1,4 +1,6 @@
-/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
+/* Machine-specific pthread type layouts.  Generic version.
+   Copyright (C) 2019-2020 Free Software Foundation, Inc.
+
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,43 +15,31 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
+   <http://www.gnu.org/licenses/>.  */
 
 #ifndef _BITS_PTHREADTYPES_ARCH_H
 #define _BITS_PTHREADTYPES_ARCH_H	1
 
 #include <bits/wordsize.h>
 
-#ifdef __x86_64__
-# if __WORDSIZE == 64
-#  define __SIZEOF_PTHREAD_MUTEX_T 40
-#  define __SIZEOF_PTHREAD_ATTR_T 56
-#  define __SIZEOF_PTHREAD_RWLOCK_T 56
-#  define __SIZEOF_PTHREAD_BARRIER_T 32
-# else
-#  define __SIZEOF_PTHREAD_MUTEX_T 32
-#  define __SIZEOF_PTHREAD_ATTR_T 32
-#  define __SIZEOF_PTHREAD_RWLOCK_T 44
-#  define __SIZEOF_PTHREAD_BARRIER_T 20
-# endif
+#if __WORDSIZE == 64
+# define __SIZEOF_PTHREAD_ATTR_T        56
+# define __SIZEOF_PTHREAD_MUTEX_T       40
+# define __SIZEOF_PTHREAD_RWLOCK_T      56
+# define __SIZEOF_PTHREAD_BARRIER_T     32
 #else
-# define __SIZEOF_PTHREAD_MUTEX_T 24
-# define __SIZEOF_PTHREAD_ATTR_T 36
-# define __SIZEOF_PTHREAD_RWLOCK_T 32
-# define __SIZEOF_PTHREAD_BARRIER_T 20
+# define __SIZEOF_PTHREAD_ATTR_T        36
+# define __SIZEOF_PTHREAD_MUTEX_T       24
+# define __SIZEOF_PTHREAD_RWLOCK_T      32
+# define __SIZEOF_PTHREAD_BARRIER_T     20
 #endif
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+#define __SIZEOF_PTHREAD_MUTEXATTR_T     4
+#define __SIZEOF_PTHREAD_RWLOCKATTR_T    8
+#define __SIZEOF_PTHREAD_BARRIERATTR_T   4
+#define __SIZEOF_PTHREAD_COND_T         48
+#define __SIZEOF_PTHREAD_CONDATTR_T      4
 
 #define __LOCK_ALIGNMENT
 #define __ONCE_ALIGNMENT
 
-#ifndef __x86_64__
-/* Extra attributes for the cleanup functions.  */
-# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
-#endif
-
 #endif	/* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/generic-glibc/bits/sem-pad.h
@@ -0,0 +1,33 @@
+/* Define where padding goes in struct semid_ds.  Generic version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+/* On most architectures, padding goes after time fields for 32-bit
+   systems and is omitted for 64-bit systems.  Some architectures pad
+   before time fields instead, or omit padding despite being 32-bit,
+   or include it despite being 64-bit.  This must match the layout
+   used for struct semid64_ds in <asm/sembuf.h>, as glibc does not do
+   layout conversions for this structure.  */
+
+#define __SEM_PAD_AFTER_TIME (__TIMESIZE == 32)
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/sem.h
@@ -20,8 +20,7 @@
 #endif
 
 #include <sys/types.h>
-#include <bits/timesize.h>
-#include <bits/types/struct_semid_ds.h>
+#include <bits/sem-pad.h>
 
 /* Flags for `semop'.  */
 #define SEM_UNDO	0x1000		/* undo the operation on exit */
@@ -35,6 +34,29 @@
 #define SETVAL		16		/* set semval */
 #define SETALL		17		/* set all semval's */
 
+
+#if __SEM_PAD_BEFORE_TIME
+# define __SEM_PAD_TIME(NAME, RES)				\
+  __syscall_ulong_t __glibc_reserved ## RES; __time_t NAME
+#elif __SEM_PAD_AFTER_TIME
+# define __SEM_PAD_TIME(NAME, RES)				\
+  __time_t NAME; __syscall_ulong_t __glibc_reserved ## RES
+#else
+# define __SEM_PAD_TIME(NAME, RES)		\
+  __time_t NAME
+#endif
+
+/* Data structure describing a set of semaphores.  */
+struct semid_ds
+{
+  struct ipc_perm sem_perm;		/* operation permission struct */
+  __SEM_PAD_TIME (sem_otime, 1);	/* last semop() time */
+  __SEM_PAD_TIME (sem_ctime, 2);	/* last time changed by semctl() */
+  __syscall_ulong_t sem_nsems;		/* number of semaphores in set */
+  __syscall_ulong_t __glibc_reserved3;
+  __syscall_ulong_t __glibc_reserved4;
+};
+
 /* The user should define a union like the following to use it for arguments
    for `semctl'.
 
lib/libc/include/generic-glibc/bits/semaphore.h
@@ -1,5 +1,4 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,16 +12,14 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
+#if _MIPS_SIM == _ABI64
 # define __SIZEOF_SEM_T	32
 #else
 # define __SIZEOF_SEM_T	16
lib/libc/include/generic-glibc/bits/setjmp.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
+/* Define the machine-dependent type `jmp_buf'.  MIPS version.
+   Copyright (C) 1992-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,29 +13,61 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* Define the machine-dependent type `jmp_buf'.  x86-64 version.  */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H  1
+#ifndef _MIPS_BITS_SETJMP_H
+#define _MIPS_BITS_SETJMP_H 1
 
-#if !defined _SETJMP_H && !defined _PTHREAD_H
+#if !defined(_SETJMP_H) && !defined(_PTHREAD_H)
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
-#include <bits/wordsize.h>
+#include <sgidefs.h>
 
-#ifndef _ASM
+typedef struct __jmp_buf_internal_tag
+  {
+#if _MIPS_SIM == _ABIO32
+    /* Program counter.  */
+    void *__pc;
 
-# if __WORDSIZE == 64
-typedef long int __jmp_buf[8];
-# elif defined  __x86_64__
-__extension__ typedef long long int __jmp_buf[8];
-# else
-typedef int __jmp_buf[6];
-# endif
+    /* Stack pointer.  */
+    void *__sp;
 
+    /* Callee-saved registers s0 through s7.  */
+    int __regs[8];
+
+    /* The frame pointer.  */
+    void *__fp;
+
+    /* The global pointer.  */
+    void *__gp;
+#else
+    /* Program counter.  */
+    __extension__ long long __pc;
+
+    /* Stack pointer.  */
+    __extension__ long long __sp;
+
+    /* Callee-saved registers s0 through s7.  */
+    __extension__ long long __regs[8];
+
+    /* The frame pointer.  */
+    __extension__ long long __fp;
+
+    /* The global pointer.  */
+    __extension__ long long __gp;
+#endif
+
+    /* Unused (was floating point status register).  */
+    int __glibc_reserved1;
+
+    /* Callee-saved floating point registers.  */
+#if _MIPS_SIM == _ABI64
+    double __fpregs[8];
+#else
+    double __fpregs[6];
 #endif
+  } __jmp_buf[1];
 
-#endif  /* bits/setjmp.h */
\ No newline at end of file
+#endif /* _MIPS_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/shm-pad.h
@@ -0,0 +1,37 @@
+/* Define where padding goes in struct shmid_ds.  Generic version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+/* On most architectures, padding goes after time fields for 32-bit
+   systems and is omitted for 64-bit systems.  Some architectures pad
+   before time fields instead, or omit padding despite being 32-bit,
+   or include it despite being 64-bit.  Furthermore, some
+   architectures place shm_segsz after the time fields rather than
+   before them, with or without padding there.  This must match the
+   layout used for struct shmid64_ds in <asm/shmbuf.h>, as glibc does
+   not do layout conversions for this structure.  */
+
+#define __SHM_PAD_AFTER_TIME (__TIMESIZE == 32)
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/shm.h
@@ -22,6 +22,7 @@
 #include <bits/types.h>
 #include <bits/wordsize.h>
 #include <bits/shmlba.h>
+#include <bits/shm-pad.h>
 
 /* Permission flag for shmget.  */
 #define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
@@ -42,7 +43,39 @@ __BEGIN_DECLS
 /* Type to count number of attaches.  */
 typedef __syscall_ulong_t shmatt_t;
 
-#include <bits/types/struct_shmid_ds.h>
+#if __SHM_PAD_BEFORE_TIME
+# define __SHM_PAD_TIME(NAME, RES)				\
+  unsigned long int __glibc_reserved ## RES; __time_t NAME
+#elif __SHM_PAD_AFTER_TIME
+# define __SHM_PAD_TIME(NAME, RES)				\
+  __time_t NAME; unsigned long int __glibc_reserved ## RES
+#else
+# define __SHM_PAD_TIME(NAME, RES)		\
+  __time_t NAME
+#endif
+
+/* Data structure describing a shared memory segment.  */
+struct shmid_ds
+  {
+    struct ipc_perm shm_perm;		/* operation permission struct */
+#if !__SHM_SEGSZ_AFTER_TIME
+    size_t shm_segsz;			/* size of segment in bytes */
+#endif
+    __SHM_PAD_TIME (shm_atime, 1);	/* time of last shmat() */
+    __SHM_PAD_TIME (shm_dtime, 2);	/* time of last shmdt() */
+    __SHM_PAD_TIME (shm_ctime, 3);	/* time of last change by shmctl() */
+#if __SHM_PAD_BETWEEN_TIME_AND_SEGSZ
+    unsigned long int __glibc_reserved4;
+#endif
+#if __SHM_SEGSZ_AFTER_TIME
+    size_t shm_segsz;			/* size of segment in bytes */
+#endif
+    __pid_t shm_cpid;			/* pid of creator */
+    __pid_t shm_lpid;			/* pid of last shmop */
+    shmatt_t shm_nattch;		/* number of current attaches */
+    __syscall_ulong_t __glibc_reserved5;
+    __syscall_ulong_t __glibc_reserved6;
+  };
 
 #ifdef __USE_MISC
 
lib/libc/include/generic-glibc/bits/sigcontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -8,7 +8,7 @@
 
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
@@ -16,181 +16,22 @@
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _BITS_SIGCONTEXT_H
-#define _BITS_SIGCONTEXT_H  1
+#define _BITS_SIGCONTEXT_H 1
 
 #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
-#include <bits/types.h>
-
-#define FP_XSTATE_MAGIC1	0x46505853U
-#define FP_XSTATE_MAGIC2	0x46505845U
-#define FP_XSTATE_MAGIC2_SIZE	sizeof (FP_XSTATE_MAGIC2)
-
-struct _fpx_sw_bytes
-{
-  __uint32_t magic1;
-  __uint32_t extended_size;
-  __uint64_t xstate_bv;
-  __uint32_t xstate_size;
-  __uint32_t __glibc_reserved1[7];
-};
-
-struct _fpreg
-{
-  unsigned short significand[4];
-  unsigned short exponent;
-};
-
-struct _fpxreg
-{
-  unsigned short significand[4];
-  unsigned short exponent;
-  unsigned short __glibc_reserved1[3];
-};
-
-struct _xmmreg
-{
-  __uint32_t	element[4];
-};
-
-
-
-#ifndef __x86_64__
-
-struct _fpstate
-{
-  /* Regular FPU environment.  */
-  __uint32_t	cw;
-  __uint32_t		sw;
-  __uint32_t		tag;
-  __uint32_t		ipoff;
-  __uint32_t		cssel;
-  __uint32_t		dataoff;
-  __uint32_t		datasel;
-  struct _fpreg	_st[8];
-  unsigned short status;
-  unsigned short magic;
-
-  /* FXSR FPU environment.  */
-  __uint32_t		_fxsr_env[6];
-  __uint32_t		mxcsr;
-  __uint32_t		__glibc_reserved1;
-  struct _fpxreg	_fxsr_st[8];
-  struct _xmmreg	_xmm[8];
-  __uint32_t		__glibc_reserved2[56];
-};
-
 #ifndef sigcontext_struct
 /* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
-   we need sigcontext.  Some packages have come to rely on
-   sigcontext_struct being defined on 32-bit x86, so define this for
-   their benefit.  */
+   we need sigcontext.  */
 # define sigcontext_struct sigcontext
-#endif
-
-#define X86_FXSR_MAGIC		0x0000
-
-struct sigcontext
-{
-  unsigned short gs, __gsh;
-  unsigned short fs, __fsh;
-  unsigned short es, __esh;
-  unsigned short ds, __dsh;
-  unsigned long edi;
-  unsigned long esi;
-  unsigned long ebp;
-  unsigned long esp;
-  unsigned long ebx;
-  unsigned long edx;
-  unsigned long ecx;
-  unsigned long eax;
-  unsigned long trapno;
-  unsigned long err;
-  unsigned long eip;
-  unsigned short cs, __csh;
-  unsigned long eflags;
-  unsigned long esp_at_signal;
-  unsigned short ss, __ssh;
-  struct _fpstate * fpstate;
-  unsigned long oldmask;
-  unsigned long cr2;
-};
-
-#else /* __x86_64__ */
 
-struct _fpstate
-{
-  /* FPU environment matching the 64-bit FXSAVE layout.  */
-  __uint16_t		cwd;
-  __uint16_t		swd;
-  __uint16_t		ftw;
-  __uint16_t		fop;
-  __uint64_t		rip;
-  __uint64_t		rdp;
-  __uint32_t		mxcsr;
-  __uint32_t		mxcr_mask;
-  struct _fpxreg	_st[8];
-  struct _xmmreg	_xmm[16];
-  __uint32_t		__glibc_reserved1[24];
-};
+# include <asm/sigcontext.h>
 
-struct sigcontext
-{
-  __uint64_t r8;
-  __uint64_t r9;
-  __uint64_t r10;
-  __uint64_t r11;
-  __uint64_t r12;
-  __uint64_t r13;
-  __uint64_t r14;
-  __uint64_t r15;
-  __uint64_t rdi;
-  __uint64_t rsi;
-  __uint64_t rbp;
-  __uint64_t rbx;
-  __uint64_t rdx;
-  __uint64_t rax;
-  __uint64_t rcx;
-  __uint64_t rsp;
-  __uint64_t rip;
-  __uint64_t eflags;
-  unsigned short cs;
-  unsigned short gs;
-  unsigned short fs;
-  unsigned short __pad0;
-  __uint64_t err;
-  __uint64_t trapno;
-  __uint64_t oldmask;
-  __uint64_t cr2;
-  __extension__ union
-    {
-      struct _fpstate * fpstate;
-      __uint64_t __fpstate_word;
-    };
-  __uint64_t __reserved1 [8];
-};
-
-#endif /* __x86_64__ */
-
-struct _xsave_hdr
-{
-  __uint64_t xstate_bv;
-  __uint64_t __glibc_reserved1[2];
-  __uint64_t __glibc_reserved2[5];
-};
-
-struct _ymmh_state
-{
-  __uint32_t ymmh_space[64];
-};
-
-struct _xstate
-{
-  struct _fpstate fpstate;
-  struct _xsave_hdr xstate_hdr;
-  struct _ymmh_state ymmh;
-};
+/* The Linux kernel headers redefine NULL wrongly, so cleanup afterwards.  */
+# define __need_NULL
+# include <stddef.h>
+#endif
 
-#endif /* _BITS_SIGCONTEXT_H */
\ No newline at end of file
+#endif /* bits/sigcontext.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/siginfo-arch.h
@@ -1,17 +1,7 @@
-/* Architecture-specific adjustments to siginfo_t.  x86 version.  */
+/* Architecture-specific adjustments to siginfo_t.  */
 #ifndef _BITS_SIGINFO_ARCH_H
 #define _BITS_SIGINFO_ARCH_H 1
 
-#if defined __x86_64__ && __WORDSIZE == 32
-/* si_utime and si_stime must be 4 byte aligned for x32 to match the
-   kernel.  We align siginfo_t to 8 bytes so that si_utime and
-   si_stime are actually aligned to 8 bytes since their offsets are
-   multiple of 8 bytes.  Note: with some compilers, the alignment
-   attribute would be ignored if it were put in __SI_CLOCK_T instead
-   of encapsulated in a typedef.  */
-typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
-# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
-# define __SI_CLOCK_T __sigchld_clock_t
-#endif
+/* This architecture has no adjustments to make to siginfo_t.  */
 
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/signum-generic.h
@@ -57,9 +57,31 @@
 #define	SIGQUIT		3	/* Quit.  */
 #define	SIGTRAP		5	/* Trace/breakpoint trap.  */
 #define	SIGKILL		9	/* Killed.  */
+#define SIGBUS		10	/* Bus error.  */
+#define	SIGSYS		12	/* Bad system call.  */
 #define	SIGPIPE		13	/* Broken pipe.  */
 #define	SIGALRM		14	/* Alarm clock.  */
 
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define	SIGURG		16	/* Urgent data is available at a socket.  */
+#define	SIGSTOP		17	/* Stop, unblockable.  */
+#define	SIGTSTP		18	/* Keyboard stop.  */
+#define	SIGCONT		19	/* Continue.  */
+#define	SIGCHLD		20	/* Child terminated or stopped.  */
+#define	SIGTTIN		21	/* Background read from control terminal.  */
+#define	SIGTTOU		22	/* Background write to control terminal.  */
+#define	SIGPOLL		23	/* Pollable event occurred (System V).  */
+#define	SIGXCPU		24	/* CPU time limit exceeded.  */
+#define	SIGXFSZ		25	/* File size limit exceeded.  */
+#define	SIGVTALRM	26	/* Virtual timer expired.  */
+#define	SIGPROF		27	/* Profiling timer expired.  */
+#define	SIGUSR1		30	/* User-defined signal 1.  */
+#define	SIGUSR2		31	/* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define	SIGWINCH	28	/* Window size change (4.3 BSD, Sun).  */
+
 /* Archaic names for compatibility.  */
 #define	SIGIO		SIGPOLL	/* I/O now possible (4.2 BSD).  */
 #define	SIGIOT		SIGABRT	/* IOT instruction, abort() on a PDP-11.  */
@@ -71,9 +93,8 @@
    but some real-time signals may be used internally by glibc.  Do not
    use these constants in application code; use SIGRTMIN and SIGRTMAX
    (defined in signal.h) instead.  */
-
-/* Include system specific bits.  */
-#include <bits/signum-arch.h>
+#define __SIGRTMIN	32
+#define __SIGRTMAX	__SIGRTMIN
 
 /* Biggest signal number + 1 (including real-time signals).  */
 #define _NSIG		(__SIGRTMAX + 1)
lib/libc/include/generic-glibc/bits/signum.h
@@ -0,0 +1,58 @@
+/* Signal number definitions.  Linux version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   most Linux systems.  */
+
+#define	SIGSTKFLT	16	/* Stack fault (obsolete).  */
+#define	SIGPWR		30	/* Power failure imminent.  */
+
+#undef	SIGBUS
+#define	SIGBUS		 7
+#undef	SIGUSR1
+#define	SIGUSR1		10
+#undef	SIGUSR2
+#define	SIGUSR2		12
+#undef	SIGCHLD
+#define	SIGCHLD		17
+#undef	SIGCONT
+#define	SIGCONT		18
+#undef	SIGSTOP
+#define	SIGSTOP		19
+#undef	SIGTSTP
+#define	SIGTSTP		20
+#undef	SIGURG
+#define	SIGURG		23
+#undef	SIGPOLL
+#define	SIGPOLL		29
+#undef	SIGSYS
+#define SIGSYS		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	64
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/socket-constants.h
@@ -20,8 +20,6 @@
 # error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
 #endif
 
-#include <bits/timesize.h>
-
 #define SOL_SOCKET 1
 #define SO_ACCEPTCONN 30
 #define SO_BROADCAST 6
@@ -32,19 +30,9 @@
 #define SO_OOBINLINE 10
 #define SO_RCVBUF 8
 #define SO_RCVLOWAT 18
-#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
-     && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
-# define SO_RCVTIMEO 66
-#else
-# define SO_RCVTIMEO 20
-#endif
+#define SO_RCVTIMEO 20
 #define SO_REUSEADDR 2
 #define SO_SNDBUF 7
 #define SO_SNDLOWAT 19
-#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
-     && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
-# define SO_SNDTIMEO 67
-#else
-# define SO_SNDTIMEO 21
-#endif
+#define SO_SNDTIMEO 21
 #define SO_TYPE 3
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,7 +12,7 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #if !defined _SYS_STAT_H && !defined _FCNTL_H
@@ -22,64 +22,45 @@
 #ifndef _BITS_STAT_H
 #define _BITS_STAT_H	1
 
+#include <sgidefs.h>
+
 /* Versions of the `struct stat' data structure.  */
-#ifndef __x86_64__
-# define _STAT_VER_LINUX_OLD	1
-# define _STAT_VER_KERNEL	1
-# define _STAT_VER_SVR4		2
-# define _STAT_VER_LINUX	3
-
-/* i386 versions of the `xmknod' interface.  */
-# define _MKNOD_VER_LINUX	1
-# define _MKNOD_VER_SVR4	2
-# define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
-#else
-# define _STAT_VER_KERNEL	0
-# define _STAT_VER_LINUX	1
+#define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
+#define _STAT_VER_SVR4		2
+#define _STAT_VER_LINUX		3
+#define _STAT_VER		_STAT_VER_LINUX /* The one defined below.  */
 
-/* x86-64 versions of the `xmknod' interface.  */
-# define _MKNOD_VER_LINUX	0
-#endif
+/* Versions of the `xmknod' interface.  */
+#define _MKNOD_VER_LINUX	1
+#define _MKNOD_VER_SVR4		2
+#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
 
-#define _STAT_VER		_STAT_VER_LINUX
 
+#if _MIPS_SIM == _ABIO32
+/* Structure describing file characteristics.  */
 struct stat
   {
-    __dev_t st_dev;		/* Device.  */
-#ifndef __x86_64__
-    unsigned short int __pad1;
-#endif
-#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
-    __ino_t st_ino;		/* File serial number.	*/
+    unsigned long int st_dev;
+    long int st_pad1[3];
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;		/* File serial number.		*/
 #else
-    __ino_t __st_ino;			/* 32bit file serial number.	*/
+    __ino64_t st_ino;		/* File serial number.		*/
 #endif
-#ifndef __x86_64__
-    __mode_t st_mode;			/* File mode.  */
-    __nlink_t st_nlink;			/* Link count.  */
-#else
-    __nlink_t st_nlink;		/* Link count.  */
     __mode_t st_mode;		/* File mode.  */
-#endif
+    __nlink_t st_nlink;		/* Link count.  */
     __uid_t st_uid;		/* User ID of the file's owner.	*/
     __gid_t st_gid;		/* Group ID of the file's group.*/
-#ifdef __x86_64__
-    int __pad0;
-#endif
-    __dev_t st_rdev;		/* Device number, if device.  */
-#ifndef __x86_64__
-    unsigned short int __pad2;
-#endif
-#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
-    __off_t st_size;			/* Size of file, in bytes.  */
-#else
-    __off64_t st_size;			/* Size of file, in bytes.  */
-#endif
-    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
-#if defined __x86_64__  || !defined __USE_FILE_OFFSET64
-    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
+    unsigned long int st_rdev;	/* Device number, if device.  */
+#ifndef __USE_FILE_OFFSET64
+    long int st_pad2[2];
+    __off_t st_size;		/* Size of file, in bytes.  */
+    /* SVR4 added this extra long to allow for expansion of off_t.  */
+    long int st_pad3;
 #else
-    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
+    long int st_pad2[3];
+    __off64_t st_size;		/* Size of file, in bytes.  */
 #endif
 #ifdef __USE_XOPEN2K8
     /* Nanosecond resolution timestamps are stored in a format
@@ -88,60 +69,134 @@ struct stat
        identifier 'timespec' to appear in the <sys/stat.h> header.
        Therefore we have to handle the use of this header in strictly
        standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
-# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# define st_atime st_atim.tv_sec        /* Backward compatibility.  */
 # define st_mtime st_mtim.tv_sec
 # define st_ctime st_ctim.tv_sec
 #else
     __time_t st_atime;			/* Time of last access.  */
-    __syscall_ulong_t st_atimensec;	/* Nscecs of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
     __time_t st_mtime;			/* Time of last modification.  */
-    __syscall_ulong_t st_mtimensec;	/* Nsecs of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
     __time_t st_ctime;			/* Time of last status change.  */
-    __syscall_ulong_t st_ctimensec;	/* Nsecs of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
 #endif
-#ifdef __x86_64__
-    __syscall_slong_t __glibc_reserved[3];
+    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;	/* Number of 512-byte blocks allocated.  */
 #else
-# ifndef __USE_FILE_OFFSET64
-    unsigned long int __glibc_reserved4;
-    unsigned long int __glibc_reserved5;
-# else
-    __ino64_t st_ino;			/* File serial number.	*/
-# endif
+    long int st_pad4;
+    __blkcnt64_t st_blocks;	/* Number of 512-byte blocks allocated.  */
 #endif
+    long int st_pad5[14];
   };
 
 #ifdef __USE_LARGEFILE64
-/* Note stat64 has the same shape as stat for x86-64.  */
 struct stat64
   {
-    __dev_t st_dev;		/* Device.  */
-# ifdef __x86_64__
-    __ino64_t st_ino;		/* File serial number.  */
-    __nlink_t st_nlink;		/* Link count.  */
+    unsigned long int st_dev;
+    long int st_pad1[3];
+    __ino64_t st_ino;		/* File serial number.		*/
     __mode_t st_mode;		/* File mode.  */
-# else
-    unsigned int __pad1;
-    __ino_t __st_ino;			/* 32bit file serial number.	*/
-    __mode_t st_mode;			/* File mode.  */
-    __nlink_t st_nlink;			/* Link count.  */
-# endif
+    __nlink_t st_nlink;		/* Link count.  */
     __uid_t st_uid;		/* User ID of the file's owner.	*/
     __gid_t st_gid;		/* Group ID of the file's group.*/
-# ifdef __x86_64__
-    int __pad0;
-    __dev_t st_rdev;		/* Device number, if device.  */
-    __off_t st_size;		/* Size of file, in bytes.  */
+    unsigned long int st_rdev;	/* Device number, if device.  */
+    long int st_pad2[3];
+    __off64_t st_size;		/* Size of file, in bytes.  */
+# ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
 # else
-    __dev_t st_rdev;			/* Device number, if device.  */
-    unsigned int __pad2;
-    __off64_t st_size;			/* Size of file, in bytes.  */
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
 # endif
     __blksize_t st_blksize;	/* Optimal block size for I/O.  */
-    __blkcnt64_t st_blocks;	/* Nr. 512-byte blocks allocated.  */
+    long int st_pad3;
+    __blkcnt64_t st_blocks;	/* Number of 512-byte blocks allocated.  */
+    long int st_pad4[14];
+  };
+#endif
+#else
+struct stat
+  {
+    __dev_t st_dev;
+    int	st_pad1[3];		/* Reserved for st_dev expansion  */
+#ifndef __USE_FILE_OFFSET64
+    __ino_t st_ino;
+#else
+    __ino64_t st_ino;
+#endif
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+#if !defined __USE_FILE_OFFSET64
+    unsigned int st_pad2[2];	/* Reserved for st_rdev expansion  */
+    __off_t st_size;
+    int st_pad3;
+#else
+    unsigned int st_pad2[3];	/* Reserved for st_rdev expansion  */
+    __off64_t st_size;
+#endif
+#ifdef __USE_XOPEN2K8
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
+# define st_atime st_atim.tv_sec        /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+    __time_t st_atime;			/* Time of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
+    __time_t st_mtime;			/* Time of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
+    __time_t st_ctime;			/* Time of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
+#endif
+    __blksize_t st_blksize;
+    unsigned int st_pad4;
+#ifndef __USE_FILE_OFFSET64
+    __blkcnt_t st_blocks;
+#else
+    __blkcnt64_t st_blocks;
+#endif
+    int st_pad5[14];
+  };
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+  {
+    __dev_t st_dev;
+    unsigned int st_pad1[3];	/* Reserved for st_dev expansion  */
+    __ino64_t st_ino;
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    unsigned int st_pad2[3];	/* Reserved for st_rdev expansion  */
+    __off64_t st_size;
 # ifdef __USE_XOPEN2K8
     /* Nanosecond resolution timestamps are stored in a format
        equivalent to 'struct timespec'.  This is the type used
@@ -149,30 +204,28 @@ struct stat64
        identifier 'timespec' to appear in the <sys/stat.h> header.
        Therefore we have to handle the use of this header in strictly
        standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
+    struct timespec st_atim;            /* Time of last access.  */
+    struct timespec st_mtim;            /* Time of last modification.  */
+    struct timespec st_ctim;            /* Time of last status change.  */
 # else
     __time_t st_atime;			/* Time of last access.  */
-    __syscall_ulong_t st_atimensec;	/* Nscecs of last access.  */
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
     __time_t st_mtime;			/* Time of last modification.  */
-    __syscall_ulong_t st_mtimensec;	/* Nsecs of last modification.  */
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
     __time_t st_ctime;			/* Time of last status change.  */
-    __syscall_ulong_t st_ctimensec;	/* Nsecs of last status change.  */
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
 # endif
-# ifdef __x86_64__
-    __syscall_slong_t __glibc_reserved[3];
-# else
-    __ino64_t st_ino;			/* File serial number.		*/
-# endif
-  };
+    __blksize_t st_blksize;
+    unsigned int st_pad3;
+    __blkcnt64_t st_blocks;
+    int st_pad4[14];
+};
+#endif
 #endif
 
 /* Tell code we have these members.  */
 #define	_STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-/* Nanosecond resolution time values are supported.  */
-#define _STATBUF_ST_NSEC
+#define	_STATBUF_ST_RDEV
 
 /* Encoding of the file mode.  */
 
lib/libc/include/generic-glibc/bits/statx-generic.h
@@ -48,7 +48,6 @@
 # define STATX_ATTR_NODUMP 0x0040
 # define STATX_ATTR_ENCRYPTED 0x0800
 # define STATX_ATTR_AUTOMOUNT 0x1000
-# define STATX_ATTR_VERITY 0x100000
 #endif /* !STATX_TYPE */
 
 __BEGIN_DECLS
lib/libc/include/generic-glibc/bits/stdio-ldbl.h
@@ -27,17 +27,9 @@ __LDBL_REDIR_DECL (vfprintf)
 __LDBL_REDIR_DECL (vprintf)
 __LDBL_REDIR_DECL (vsprintf)
 #if !__GLIBC_USE (DEPRECATED_SCANF)
-# if defined __LDBL_COMPAT
 __LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
 __LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
 __LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
-# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
-__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
-__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
-# else
-#  error bits/stdlib-ldbl.h included when no ldbl redirections are required.
-# endif
 #else
 __LDBL_REDIR_DECL (fscanf)
 __LDBL_REDIR_DECL (scanf)
@@ -51,17 +43,9 @@ __LDBL_REDIR_DECL (vsnprintf)
 
 #ifdef	__USE_ISOC99
 # if !__GLIBC_USE (DEPRECATED_SCANF)
-#  if defined __LDBL_COMPAT
 __LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
 __LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
 __LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
-#  elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
-__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
-__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
-#  else
-#   error bits/stdlib-ldbl.h included when no ldbl redirections are required.
-#  endif
 # else
 __LDBL_REDIR_DECL (vfscanf)
 __LDBL_REDIR_DECL (vsscanf)
@@ -76,33 +60,33 @@ __LDBL_REDIR_DECL (dprintf)
 
 #ifdef __USE_GNU
 __LDBL_REDIR_DECL (vasprintf)
-__LDBL_REDIR2_DECL (asprintf)
+__LDBL_REDIR_DECL (__asprintf)
 __LDBL_REDIR_DECL (asprintf)
 __LDBL_REDIR_DECL (obstack_printf)
 __LDBL_REDIR_DECL (obstack_vprintf)
 #endif
 
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR2_DECL (sprintf_chk)
-__LDBL_REDIR2_DECL (vsprintf_chk)
+__LDBL_REDIR_DECL (__sprintf_chk)
+__LDBL_REDIR_DECL (__vsprintf_chk)
 # if defined __USE_ISOC99 || defined __USE_UNIX98
-__LDBL_REDIR2_DECL (snprintf_chk)
-__LDBL_REDIR2_DECL (vsnprintf_chk)
+__LDBL_REDIR_DECL (__snprintf_chk)
+__LDBL_REDIR_DECL (__vsnprintf_chk)
 # endif
 # if __USE_FORTIFY_LEVEL > 1
-__LDBL_REDIR2_DECL (fprintf_chk)
-__LDBL_REDIR2_DECL (printf_chk)
-__LDBL_REDIR2_DECL (vfprintf_chk)
-__LDBL_REDIR2_DECL (vprintf_chk)
+__LDBL_REDIR_DECL (__fprintf_chk)
+__LDBL_REDIR_DECL (__printf_chk)
+__LDBL_REDIR_DECL (__vfprintf_chk)
+__LDBL_REDIR_DECL (__vprintf_chk)
 #  ifdef __USE_XOPEN2K8
-__LDBL_REDIR2_DECL (dprintf_chk)
-__LDBL_REDIR2_DECL (vdprintf_chk)
+__LDBL_REDIR_DECL (__dprintf_chk)
+__LDBL_REDIR_DECL (__vdprintf_chk)
 #  endif
 #  ifdef __USE_GNU
-__LDBL_REDIR2_DECL (asprintf_chk)
-__LDBL_REDIR2_DECL (vasprintf_chk)
-__LDBL_REDIR2_DECL (obstack_printf_chk)
-__LDBL_REDIR2_DECL (obstack_vprintf_chk)
+__LDBL_REDIR_DECL (__asprintf_chk)
+__LDBL_REDIR_DECL (__vasprintf_chk)
+__LDBL_REDIR_DECL (__obstack_printf_chk)
+__LDBL_REDIR_DECL (__obstack_vprintf_chk)
 #  endif
 # endif
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stdio2.h
@@ -24,12 +24,10 @@
 #endif
 
 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
-			  const char *__restrict __format, ...) __THROW
-    __attr_access ((__write_only__, 1, 3));
+			  const char *__restrict __format, ...) __THROW;
 extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
 			   const char *__restrict __format,
-			   __gnuc_va_list __ap) __THROW
-    __attr_access ((__write_only__, 1, 3));
+			   __gnuc_va_list __ap) __THROW;
 
 #ifdef __va_arg_pack
 __fortify_function int
@@ -56,8 +54,7 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
 
 extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
 			   size_t __slen, const char *__restrict __format,
-			   ...) __THROW
-    __attr_access ((__write_only__, 1, 2));
+			   ...) __THROW;
 extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
 			    size_t __slen, const char *__restrict __format,
 			    __gnuc_va_list __ap) __THROW;
@@ -244,19 +241,17 @@ gets (char *__str)
 #endif
 
 extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
-			  FILE *__restrict __stream)
-    __wur __attr_access ((__write_only__, 1, 3));
+			  FILE *__restrict __stream) __wur;
 extern char *__REDIRECT (__fgets_alias,
 			 (char *__restrict __s, int __n,
-			  FILE *__restrict __stream), fgets)
-    __wur __attr_access ((__write_only__, 1, 2));
+			  FILE *__restrict __stream), fgets) __wur;
 extern char *__REDIRECT (__fgets_chk_warn,
 			 (char *__restrict __s, size_t __size, int __n,
 			  FILE *__restrict __stream), __fgets_chk)
      __wur __warnattr ("fgets called with bigger size than length "
 		       "of destination buffer");
 
-__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
+__fortify_function __wur char *
 fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1)
@@ -304,19 +299,17 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,
 
 #ifdef __USE_GNU
 extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
-				   int __n, FILE *__restrict __stream)
-    __wur __attr_access ((__write_only__, 1, 3));
+				   int __n, FILE *__restrict __stream) __wur;
 extern char *__REDIRECT (__fgets_unlocked_alias,
 			 (char *__restrict __s, int __n,
-			  FILE *__restrict __stream), fgets_unlocked)
-    __wur __attr_access ((__write_only__, 1, 2));
+			  FILE *__restrict __stream), fgets_unlocked) __wur;
 extern char *__REDIRECT (__fgets_unlocked_chk_warn,
 			 (char *__restrict __s, size_t __size, int __n,
 			  FILE *__restrict __stream), __fgets_unlocked_chk)
      __wur __warnattr ("fgets_unlocked called with bigger size than length "
 		       "of destination buffer");
 
-__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
+__fortify_function __wur char *
 fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1)
lib/libc/include/generic-glibc/bits/stdlib-ldbl.h
@@ -21,43 +21,21 @@
 #endif
 
 #ifdef	__USE_ISOC99
-# ifdef __LDBL_COMPAT
 __LDBL_REDIR1_DECL (strtold, strtod)
-# else
-__LDBL_REDIR1_DECL (strtold, __strtoieee128)
-# endif
 #endif
 
 #ifdef __USE_GNU
-# ifdef __LDBL_COMPAT
 __LDBL_REDIR1_DECL (strtold_l, strtod_l)
-# else
-__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
-# endif
 #endif
 
 #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
-# ifdef __LDBL_COMPAT
 __LDBL_REDIR1_DECL (strfroml, strfromd)
-# else
-__LDBL_REDIR1_DECL (strfroml, __strfromieee128)
-# endif
 #endif
 
 #ifdef __USE_MISC
-# if defined __LDBL_COMPAT
 __LDBL_REDIR1_DECL (qecvt, ecvt)
 __LDBL_REDIR1_DECL (qfcvt, fcvt)
 __LDBL_REDIR1_DECL (qgcvt, gcvt)
 __LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
 __LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
-# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
-__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
-__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
-__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r)
-__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r)
-# else
-#  error bits/stdlib-ldbl.h included when no ldbl redirections are required.
-# endif
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stdlib.h
@@ -50,11 +50,10 @@ __NTH (realpath (const char *__restrict __name, char *__restrict __resolved))
 
 
 extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
-			    size_t __nreal) __THROW __nonnull ((2))
-    __attr_access ((__write_only__, 2, 3));
+			    size_t __nreal) __THROW __nonnull ((2));
 extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
 					       size_t __buflen), ptsname_r)
-     __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
+     __nonnull ((2));
 extern int __REDIRECT_NTH (__ptsname_r_chk_warn,
 			   (int __fd, char *__buf, size_t __buflen,
 			    size_t __nreal), __ptsname_r_chk)
@@ -98,13 +97,11 @@ __NTH (wctomb (char *__s, wchar_t __wchar))
 
 extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
 			      const char *__restrict __src,
-			      size_t __len, size_t __dstlen) __THROW
-    __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+			      size_t __len, size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__mbstowcs_alias,
 			      (wchar_t *__restrict __dst,
 			       const char *__restrict __src,
-			       size_t __len), mbstowcs)
-    __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+			       size_t __len), mbstowcs);
 extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
 			      (wchar_t *__restrict __dst,
 			       const char *__restrict __src,
@@ -132,13 +129,11 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
 
 extern size_t __wcstombs_chk (char *__restrict __dst,
 			      const wchar_t *__restrict __src,
-			      size_t __len, size_t __dstlen) __THROW
-  __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+			      size_t __len, size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__wcstombs_alias,
 			      (char *__restrict __dst,
 			       const wchar_t *__restrict __src,
-			       size_t __len), wcstombs)
-  __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+			       size_t __len), wcstombs);
 extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
 			      (char *__restrict __dst,
 			       const wchar_t *__restrict __src,
lib/libc/include/generic-glibc/bits/string_fortified.h
@@ -75,7 +75,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
 # include <bits/strings_fortified.h>
 
 void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
-  __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
+  __THROW __nonnull ((1));
 
 __fortify_function void
 __NTH (explicit_bzero (void *__dest, size_t __len))
@@ -108,8 +108,7 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
 
 /* XXX We have no corresponding builtin yet.  */
 extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
-			    size_t __destlen) __THROW
-  __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+			    size_t __destlen) __THROW;
 extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
 					       size_t __n), stpncpy);
 
lib/libc/include/generic-glibc/bits/struct_mutex.h
@@ -1,4 +1,4 @@
-/* x86 internal mutex struct definitions.
+/* Default mutex implementation struct definitions.
    Copyright (C) 2019-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -19,45 +19,66 @@
 #ifndef _THREAD_MUTEX_INTERNAL_H
 #define _THREAD_MUTEX_INTERNAL_H 1
 
+/* Generic struct for both POSIX and C11 mutexes.  New ports are expected
+   to use the default layout, however architecture can redefine it to
+   add arch-specific extension (such as lock-elision).  The struct have
+   a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.  */
+
 struct __pthread_mutex_s
 {
-  int __lock;
+  int __lock __LOCK_ALIGNMENT;
   unsigned int __count;
   int __owner;
-#ifdef __x86_64__
+#if __WORDSIZE == 64
   unsigned int __nusers;
 #endif
   /* KIND must stay at this position in the structure to maintain
-     binary compatibility with static initializers.  */
+     binary compatibility with static initializers.
+
+     Concurrency notes:
+     The __kind of a mutex is initialized either by the static
+     PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
+
+     After a mutex has been initialized, the __kind of a mutex is usually not
+     changed.  BUT it can be set to -1 in pthread_mutex_destroy or elision can
+     be enabled.  This is done concurrently in the pthread_mutex_*lock
+     functions by using the macro FORCE_ELISION. This macro is only defined
+     for architectures which supports lock elision.
+
+     For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
+     PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already
+     set type of a mutex.  Before a mutex is initialized, only
+     PTHREAD_MUTEX_NO_ELISION_NP can be set with pthread_mutexattr_settype.
+
+     After a mutex has been initialized, the functions pthread_mutex_*lock can
+     enable elision - if the mutex-type and the machine supports it - by
+     setting the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently.
+     Afterwards the lock / unlock functions are using specific elision
+     code-paths.  */
   int __kind;
-#ifdef __x86_64__
-  short __spins;
-  short __elision;
+#if __WORDSIZE != 64
+  unsigned int __nusers;
+#endif
+#if __WORDSIZE == 64
+  int __spins;
   __pthread_list_t __list;
 # define __PTHREAD_MUTEX_HAVE_PREV      1
 #else
-  unsigned int __nusers;
   __extension__ union
   {
-    struct
-    {
-      short __espins;
-      short __eelision;
-# define __spins __elision_data.__espins
-# define __elision __elision_data.__eelision
-    } __elision_data;
+    int __spins;
     __pthread_slist_t __list;
   };
 # define __PTHREAD_MUTEX_HAVE_PREV      0
 #endif
 };
 
-#ifdef __x86_64__
+#if __PTHREAD_MUTEX_HAVE_PREV == 1
 # define __PTHREAD_MUTEX_INITIALIZER(__kind) \
-  0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
+  0, 0, 0, 0, __kind, 0, { 0, 0 }
 #else
 # define __PTHREAD_MUTEX_INITIALIZER(__kind) \
-  0, 0, 0, __kind, 0, { { 0, 0 } }
+  0, 0, 0, __kind, 0, { 0 }
 #endif
 
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/struct_rwlock.h
@@ -1,6 +1,5 @@
-/* x86 internal rwlock struct definitions.
+/* MIPS internal rwlock struct definitions.
    Copyright (C) 2019-2020 Free Software Foundation, Inc.
-
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,38 +27,45 @@ struct __pthread_rwlock_arch_t
   unsigned int __writers_futex;
   unsigned int __pad3;
   unsigned int __pad4;
-#ifdef __x86_64__
+#if _MIPS_SIM == _ABI64
   int __cur_writer;
   int __shared;
-  signed char __rwelision;
-# ifdef  __ILP32__
-  unsigned char __pad1[3];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
-# else
-  unsigned char __pad1[7];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
-# endif
+  unsigned long int __pad1;
   unsigned long int __pad2;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned int __flags;
-#else /* __x86_64__  */
+# else
+# if __BYTE_ORDER == __BIG_ENDIAN
+  unsigned char __pad1;
+  unsigned char __pad2;
+  unsigned char __shared;
+  /* FLAGS must stay at this position in the structure to maintain
+     binary compatibility.  */
+  unsigned char __flags;
+# else
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned char __flags;
   unsigned char __shared;
-  signed char __rwelision;
+  unsigned char __pad1;
   unsigned char __pad2;
+# endif
   int __cur_writer;
 #endif
 };
 
-#ifdef __x86_64__
+#if _MIPS_SIM == _ABI64
 # define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
-  0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
 #else
-# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
+# if __BYTE_ORDER == __BIG_ENDIAN
+#  define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
+  0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
+# else
+#  define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
   0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
+# endif
 #endif
 
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/sys_errlist.h
@@ -0,0 +1,32 @@
+/* Declare sys_errlist and sys_nerr, or don't.  Compatibility (do) version.
+   Copyright (C) 2002-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _STDIO_H
+# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
+#endif
+
+/* sys_errlist and sys_nerr are deprecated.  Use strerror instead.  */
+
+#ifdef  __USE_MISC
+extern int sys_nerr;
+extern const char *const sys_errlist[];
+#endif
+#ifdef  __USE_GNU
+extern int _sys_nerr;
+extern const char *const _sys_errlist[];
+#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/syscall.h
@@ -1,11 +1,11 @@
 /* Generated at libc build time from syscall list.  */
-/* The system call list corresponds to kernel 5.7.  */
+/* The system call list corresponds to kernel 5.4.  */
 
 #ifndef _SYSCALL_H
 # error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
 #endif
 
-#define __GLIBC_LINUX_VERSION_CODE 329472
+#define __GLIBC_LINUX_VERSION_CODE 328704
 
 #ifdef __NR_FAST_atomic_update
 # define SYS_FAST_atomic_update __NR_FAST_atomic_update
@@ -75,18 +75,6 @@
 # define SYS_alloc_hugepages __NR_alloc_hugepages
 #endif
 
-#ifdef __NR_arc_gettls
-# define SYS_arc_gettls __NR_arc_gettls
-#endif
-
-#ifdef __NR_arc_settls
-# define SYS_arc_settls __NR_arc_settls
-#endif
-
-#ifdef __NR_arc_usr_cmpxchg
-# define SYS_arc_usr_cmpxchg __NR_arc_usr_cmpxchg
-#endif
-
 #ifdef __NR_arch_prctl
 # define SYS_arch_prctl __NR_arch_prctl
 #endif
@@ -1091,10 +1079,6 @@
 # define SYS_openat __NR_openat
 #endif
 
-#ifdef __NR_openat2
-# define SYS_openat2 __NR_openat2
-#endif
-
 #ifdef __NR_osf_adjtime
 # define SYS_osf_adjtime __NR_osf_adjtime
 #endif
@@ -1567,10 +1551,6 @@
 # define SYS_personality __NR_personality
 #endif
 
-#ifdef __NR_pidfd_getfd
-# define SYS_pidfd_getfd __NR_pidfd_getfd
-#endif
-
 #ifdef __NR_pidfd_open
 # define SYS_pidfd_open __NR_pidfd_open
 #endif
lib/libc/include/generic-glibc/bits/sysctl.h
@@ -0,0 +1,1 @@
+/* Empty file.  */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/syslog-ldbl.h
@@ -27,9 +27,9 @@ __LDBL_REDIR_DECL (vsyslog)
 #endif
 
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR2_DECL (syslog_chk)
+__LDBL_REDIR_DECL (__syslog_chk)
 
 # ifdef __USE_MISC
-__LDBL_REDIR2_DECL (vsyslog_chk)
+__LDBL_REDIR_DECL (__vsyslog_chk)
 # endif
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/thread-shared-types.h
@@ -116,14 +116,4 @@ struct __pthread_cond_s
   unsigned int __g_signals[2];
 };
 
-typedef unsigned int __tss_t;
-typedef unsigned long int __thrd_t;
-
-typedef struct
-{
-  int __data __ONCE_ALIGNMENT;
-} __once_flag;
-
-#define __ONCE_FLAG_INIT { 0 }
-
 #endif /* _THREAD_SHARED_TYPES_H  */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/timesize.h
@@ -1,4 +1,4 @@
-/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+/* Bit size of the time_t type at glibc build time, general case.
    Copyright (C) 2018-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -16,10 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#if defined __x86_64__ && defined __ILP32__
-/* For x32, time is 64-bit even though word size is 32-bit.  */
-# define __TIMESIZE	64
-#else
-/* For others, time size is word size.  */
-# define __TIMESIZE	__WORDSIZE
-#endif
\ No newline at end of file
+#include <bits/wordsize.h>
+
+/* Size in bits of the 'time_t' type of the default ABI.  */
+#define __TIMESIZE	__WORDSIZE
\ No newline at end of file
lib/libc/include/generic-glibc/bits/types.h
@@ -160,7 +160,6 @@ __STD_TYPE __ID_T_TYPE __id_t;		/* General type for IDs.  */
 __STD_TYPE __TIME_T_TYPE __time_t;	/* Seconds since the Epoch.  */
 __STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds.  */
 __STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds.  */
-__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
 
 __STD_TYPE __DADDR_T_TYPE __daddr_t;	/* The type of a disk address.  */
 __STD_TYPE __KEY_T_TYPE __key_t;	/* Type of an IPC key.  */
lib/libc/include/generic-glibc/bits/typesizes.h
@@ -1,5 +1,5 @@
-/* bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
-   Copyright (C) 2012-2020 Free Software Foundation, Inc.
+/* bits/typesizes.h -- underlying types for *_t.  Generic version.
+   Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,55 +26,42 @@
 /* See <bits/types.h> for the meaning of these macros.  This file exists so
    that <bits/types.h> need not vary across different GNU platforms.  */
 
-/* X32 kernel interface is 64-bit.  */
-#if defined __x86_64__ && defined __ILP32__
-# define __SYSCALL_SLONG_TYPE	__SQUAD_TYPE
-# define __SYSCALL_ULONG_TYPE	__UQUAD_TYPE
-#else
-# define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
-# define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
-#endif
-
 #define __DEV_T_TYPE		__UQUAD_TYPE
 #define __UID_T_TYPE		__U32_TYPE
 #define __GID_T_TYPE		__U32_TYPE
-#define __INO_T_TYPE		__SYSCALL_ULONG_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
 #define __INO64_T_TYPE		__UQUAD_TYPE
 #define __MODE_T_TYPE		__U32_TYPE
-#ifdef __x86_64__
-# define __NLINK_T_TYPE		__SYSCALL_ULONG_TYPE
-# define __FSWORD_T_TYPE	__SYSCALL_SLONG_TYPE
-#else
-# define __NLINK_T_TYPE		__UWORD_TYPE
-# define __FSWORD_T_TYPE	__SWORD_TYPE
-#endif
-#define __OFF_T_TYPE		__SYSCALL_SLONG_TYPE
+#define __NLINK_T_TYPE		__UWORD_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
 #define __OFF64_T_TYPE		__SQUAD_TYPE
 #define __PID_T_TYPE		__S32_TYPE
-#define __RLIM_T_TYPE		__SYSCALL_ULONG_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
 #define __RLIM64_T_TYPE		__UQUAD_TYPE
-#define __BLKCNT_T_TYPE		__SYSCALL_SLONG_TYPE
-#define __BLKCNT64_T_TYPE	__SQUAD_TYPE
-#define __FSBLKCNT_T_TYPE	__SYSCALL_ULONG_TYPE
-#define __FSBLKCNT64_T_TYPE	__UQUAD_TYPE
-#define __FSFILCNT_T_TYPE	__SYSCALL_ULONG_TYPE
-#define __FSFILCNT64_T_TYPE	__UQUAD_TYPE
-#define __ID_T_TYPE		__U32_TYPE
-#define __CLOCK_T_TYPE		__SYSCALL_SLONG_TYPE
-#define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
+#define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
+#define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
+#define	__ID_T_TYPE		__U32_TYPE
+#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
-#define __SUSECONDS_T_TYPE	__SYSCALL_SLONG_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
 #define __TIMER_T_TYPE		void *
-#define __BLKSIZE_T_TYPE	__SYSCALL_SLONG_TYPE
+#define __BLKSIZE_T_TYPE	__SLONGWORD_TYPE
 #define __FSID_T_TYPE		struct { int __val[2]; }
 #define __SSIZE_T_TYPE		__SWORD_TYPE
-#define __CPU_MASK_TYPE 	__SYSCALL_ULONG_TYPE
+#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
+#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
+#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
 
-#ifdef __x86_64__
+#ifdef __LP64__
 /* Tell the libc code that off_t and off64_t are actually the same type
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
@@ -83,24 +70,19 @@
 /* Same for ino_t and ino64_t.  */
 # define __INO_T_MATCHES_INO64_T	1
 
-/* And for __rlim_t and __rlim64_t.  */
+/* And for rlim_t and rlim64_t.  */
 # define __RLIM_T_MATCHES_RLIM64_T	1
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
-#define __FD_SETSIZE		1024
+#define	__FD_SETSIZE		1024
 
 
 #endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/unistd.h
@@ -21,11 +21,9 @@
 #endif
 
 extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
-			   size_t __buflen)
-  __wur __attr_access ((__write_only__, 2, 3));
+			   size_t __buflen) __wur;
 extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
-					  size_t __nbytes), read)
-  __wur __attr_access ((__write_only__, 2, 3));
+					  size_t __nbytes), read) __wur;
 extern ssize_t __REDIRECT (__read_chk_warn,
 			   (int __fd, void *__buf, size_t __nbytes,
 			    size_t __buflen), __read_chk)
@@ -48,19 +46,15 @@ read (int __fd, void *__buf, size_t __nbytes)
 
 #ifdef __USE_UNIX98
 extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
-			    __off_t __offset, size_t __bufsize)
-  __wur __attr_access ((__write_only__, 2, 3));
+			    __off_t __offset, size_t __bufsize) __wur;
 extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
-			      __off64_t __offset, size_t __bufsize)
-  __wur __attr_access ((__write_only__, 2, 3));
+			      __off64_t __offset, size_t __bufsize) __wur;
 extern ssize_t __REDIRECT (__pread_alias,
 			   (int __fd, void *__buf, size_t __nbytes,
-			    __off_t __offset), pread)
-  __wur __attr_access ((__write_only__, 2, 3));
+			    __off_t __offset), pread) __wur;
 extern ssize_t __REDIRECT (__pread64_alias,
 			   (int __fd, void *__buf, size_t __nbytes,
-			    __off64_t __offset), pread64)
-  __wur __attr_access ((__write_only__, 2, 3));
+			    __off64_t __offset), pread64) __wur;
 extern ssize_t __REDIRECT (__pread_chk_warn,
 			   (int __fd, void *__buf, size_t __nbytes,
 			    __off_t __offset, size_t __bufsize), __pread_chk)
@@ -129,11 +123,11 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
 extern ssize_t __readlink_chk (const char *__restrict __path,
 			       char *__restrict __buf, size_t __len,
 			       size_t __buflen)
-     __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
+     __THROW __nonnull ((1, 2)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlink_alias,
 			       (const char *__restrict __path,
 				char *__restrict __buf, size_t __len), readlink)
-     __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
+     __nonnull ((1, 2)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
 			       (const char *__restrict __path,
 				char *__restrict __buf, size_t __len,
@@ -161,12 +155,12 @@ __NTH (readlink (const char *__restrict __path, char *__restrict __buf,
 extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
 				 char *__restrict __buf, size_t __len,
 				 size_t __buflen)
-     __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
+     __THROW __nonnull ((2, 3)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
 			       (int __fd, const char *__restrict __path,
 				char *__restrict __buf, size_t __len),
 			       readlinkat)
-     __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
+     __nonnull ((2, 3)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
 			       (int __fd, const char *__restrict __path,
 				char *__restrict __buf, size_t __len,
@@ -193,10 +187,9 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,
 #endif
 
 extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
-     __THROW __wur __attr_access ((__write_only__, 1, 2));
+     __THROW __wur;
 extern char *__REDIRECT_NTH (__getcwd_alias,
-			     (char *__buf, size_t __size), getcwd)
-  __wur __attr_access ((__write_only__, 1, 2));
+			     (char *__buf, size_t __size), getcwd) __wur;
 extern char *__REDIRECT_NTH (__getcwd_chk_warn,
 			     (char *__buf, size_t __size, size_t __buflen),
 			     __getcwd_chk)
@@ -219,7 +212,7 @@ __NTH (getcwd (char *__buf, size_t __size))
 
 #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 extern char *__getwd_chk (char *__buf, size_t buflen)
-     __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
+     __THROW __nonnull ((1)) __wur;
 extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)
      __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "
 				       "doesn't specify buffer size");
@@ -234,11 +227,9 @@ __NTH (getwd (char *__buf))
 #endif
 
 extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
-			     size_t __buflen) __THROW
-  __attr_access ((__write_only__, 2, 3));
+			     size_t __buflen) __THROW;
 extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,
-						size_t __len), confstr)
-   __attr_access ((__write_only__, 2, 3));
+						size_t __len), confstr);
 extern size_t __REDIRECT_NTH (__confstr_chk_warn,
 			      (int __name, char *__buf, size_t __len,
 			       size_t __buflen), __confstr_chk)
@@ -261,9 +252,9 @@ __NTH (confstr (int __name, char *__buf, size_t __len))
 
 
 extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
-  __THROW __wur __attr_access ((__write_only__, 2, 1));
+     __THROW __wur;
 extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
-			   getgroups) __wur __attr_access ((__write_only__, 2, 1));
+			   getgroups) __wur;
 extern int __REDIRECT_NTH (__getgroups_chk_warn,
 			   (int __size, __gid_t __list[], size_t __listlen),
 			   __getgroups_chk)
@@ -286,8 +277,7 @@ __NTH (getgroups (int __size, __gid_t __list[]))
 
 
 extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
-			    size_t __nreal) __THROW __nonnull ((2))
-   __attr_access ((__write_only__, 2, 3));
+			    size_t __nreal) __THROW __nonnull ((2));
 extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
 					       size_t __buflen), ttyname_r)
      __nonnull ((2));
@@ -314,7 +304,7 @@ __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
 
 #ifdef __USE_POSIX199506
 extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
-     __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
+     __nonnull ((1));
 extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
 		       getlogin_r) __nonnull ((1));
 extern int __REDIRECT (__getlogin_r_chk_warn,
@@ -341,10 +331,9 @@ getlogin_r (char *__buf, size_t __buflen)
 
 #if defined __USE_MISC || defined __USE_UNIX98
 extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
-     __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
+     __THROW __nonnull ((1));
 extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),
-			   gethostname)
-  __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
+			   gethostname) __nonnull ((1));
 extern int __REDIRECT_NTH (__gethostname_chk_warn,
 			   (char *__buf, size_t __buflen, size_t __nreal),
 			   __gethostname_chk)
@@ -369,11 +358,10 @@ __NTH (gethostname (char *__buf, size_t __buflen))
 
 #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
 extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
-     __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
+     __THROW __nonnull ((1)) __wur;
 extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
 						   size_t __buflen),
-			   getdomainname) __nonnull ((1))
-  __wur __attr_access ((__write_only__, 1, 2));
+			   getdomainname) __nonnull ((1)) __wur;
 extern int __REDIRECT_NTH (__getdomainname_chk_warn,
 			   (char *__buf, size_t __buflen, size_t __nreal),
 			   __getdomainname_chk)
lib/libc/include/generic-glibc/bits/wchar-ldbl.h
@@ -28,17 +28,9 @@ __LDBL_REDIR_DECL (vfwprintf);
 __LDBL_REDIR_DECL (vwprintf);
 __LDBL_REDIR_DECL (vswprintf);
 # if !__GLIBC_USE (DEPRECATED_SCANF)
-#  if defined __LDBL_COMPAT
 __LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
 __LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
 __LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
-#  elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
-__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
-__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
-#  else
-#   error bits/stdlib-ldbl.h included when no ldbl redirections are required.
-#  endif
 # else
 __LDBL_REDIR_DECL (fwscanf);
 __LDBL_REDIR_DECL (wscanf);
@@ -47,23 +39,11 @@ __LDBL_REDIR_DECL (swscanf);
 #endif
 
 #ifdef __USE_ISOC99
-# ifdef __LDBL_COMPAT
 __LDBL_REDIR1_DECL (wcstold, wcstod);
-# else
-__LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
-# endif
 # if !__GLIBC_USE (DEPRECATED_SCANF)
-#  if defined __LDBL_COMPAT
 __LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
 __LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
 __LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
-#  elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
-__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
-__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
-#  else
-#   error bits/stdlib-ldbl.h included when no ldbl redirections are required.
-#  endif
 # else
 __LDBL_REDIR_DECL (vfwscanf);
 __LDBL_REDIR_DECL (vwscanf);
@@ -72,20 +52,16 @@ __LDBL_REDIR_DECL (vswscanf);
 #endif
 
 #ifdef __USE_GNU
-# ifdef __LDBL_COMPAT
 __LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
-# else
-__LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l)
-# endif
 #endif
 
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR2_DECL (swprintf_chk)
-__LDBL_REDIR2_DECL (vswprintf_chk)
+__LDBL_REDIR_DECL (__swprintf_chk)
+__LDBL_REDIR_DECL (__vswprintf_chk)
 # if __USE_FORTIFY_LEVEL > 1
-__LDBL_REDIR2_DECL (fwprintf_chk)
-__LDBL_REDIR2_DECL (wprintf_chk)
-__LDBL_REDIR2_DECL (vfwprintf_chk)
-__LDBL_REDIR2_DECL (vwprintf_chk)
+__LDBL_REDIR_DECL (__fwprintf_chk)
+__LDBL_REDIR_DECL (__wprintf_chk)
+__LDBL_REDIR_DECL (__vfwprintf_chk)
+__LDBL_REDIR_DECL (__vwprintf_chk)
 # endif
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/wordsize.h
@@ -1,17 +1,31 @@
-/* Determine the wordsize from the preprocessor defines.  */
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
-#if defined __x86_64__ && !defined __ILP32__
-# define __WORDSIZE	64
-#else
-# define __WORDSIZE	32
-#define __WORDSIZE32_SIZE_ULONG		0
-#define __WORDSIZE32_PTRDIFF_LONG	0
-#endif
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
 
-#ifdef __x86_64__
+#include <sgidefs.h>
+
+#define __WORDSIZE			_MIPS_SZPTR
+
+#if _MIPS_SIM == _ABI64
 # define __WORDSIZE_TIME64_COMPAT32	1
-/* Both x86-64 and x32 use the 64-bit system call interface.  */
-# define __SYSCALL_WORDSIZE		64
 #else
 # define __WORDSIZE_TIME64_COMPAT32	0
+#endif
+
+#if __WORDSIZE == 32
+#define __WORDSIZE32_SIZE_ULONG		0
+#define __WORDSIZE32_PTRDIFF_LONG	0
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/finclude/math-vector-fortran.h
@@ -16,28 +16,4 @@
 !   License along with the GNU C Library; if not, see
 !   <https://www.gnu.org/licenses/>.
 
-!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
-!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
-
-!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
-!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
+! No SIMD math functions are available for this platform.
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/lib-names-32.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-hard.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h
@@ -19,6 +19,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h
@@ -19,6 +19,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h
@@ -19,6 +19,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-soft.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names.h
@@ -4,14 +4,43 @@
 #ifndef __GNU_LIB_NAMES_H
 #define __GNU_LIB_NAMES_H	1
 
-#if !defined __x86_64__
-# include <gnu/lib-names-32.h>
+#include <sgidefs.h>
+
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/lib-names-o32_soft.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/lib-names-o32_hard.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/lib-names-o32_soft_2008.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/lib-names-o32_hard_2008.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/lib-names-n32_soft.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/lib-names-n32_hard.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/lib-names-n32_soft_2008.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/lib-names-n32_hard_2008.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/lib-names-n64_soft.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/lib-names-n64_hard.h>
 #endif
-#if defined __x86_64__ && defined __LP64__
-# include <gnu/lib-names-64.h>
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/lib-names-n64_soft_2008.h>
 #endif
-#if defined __x86_64__ && defined __ILP32__
-# include <gnu/lib-names-x32.h>
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/lib-names-n64_hard_2008.h>
 #endif
 
 #endif	/* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-32.h
@@ -10,7 +10,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-64.h
@@ -0,0 +1,18 @@
+/* This file is automatically generated.
+   It defines a symbol `__stub_FUNCTION' for each function
+   in the C library which is a stub, meaning it will fail
+   every time called, usually setting errno to ENOSYS.  */
+
+#ifdef _LIBC
+ #error Applications may not define the macro _LIBC
+#endif
+
+#define __stub_chflags
+#define __stub_fchflags
+#define __stub_gtty
+#define __stub_lchmod
+#define __stub_revoke
+#define __stub_setlogin
+#define __stub_sigreturn
+#define __stub_sstk
+#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-hard.h
@@ -13,7 +13,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h
@@ -12,7 +12,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h
@@ -12,7 +12,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h
@@ -10,7 +10,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-soft.h
@@ -13,7 +13,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs.h
@@ -2,13 +2,41 @@
    This file selects the right generated file of `__stub_FUNCTION' macros
    based on the architecture being compiled for.  */
 
+#include <sgidefs.h>
 
-#if !defined __x86_64__
-# include <gnu/stubs-32.h>
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/stubs-o32_soft.h>
 #endif
-#if defined __x86_64__ && defined __LP64__
-# include <gnu/stubs-64.h>
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/stubs-o32_hard.h>
 #endif
-#if defined __x86_64__ && defined __ILP32__
-# include <gnu/stubs-x32.h>
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/stubs-o32_soft_2008.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+# include <gnu/stubs-o32_hard_2008.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/stubs-n32_soft.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/stubs-n32_hard.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/stubs-n32_soft_2008.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+# include <gnu/stubs-n32_hard_2008.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/stubs-n64_soft.h>
+#endif
+#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/stubs-n64_hard.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/stubs-n64_soft_2008.h>
+#endif
+#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+# include <gnu/stubs-n64_hard_2008.h>
 #endif
\ No newline at end of file
lib/libc/include/generic-glibc/netinet/icmp6.h
@@ -85,16 +85,16 @@ struct icmp6_hdr
 #define ICMP6_PARAMPROB_OPTION        2 /* unrecognized IPv6 option */
 
 #define ICMP6_FILTER_WILLPASS(type, filterp) \
-	((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) == 0)
+	((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
 
 #define ICMP6_FILTER_WILLBLOCK(type, filterp) \
-	((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) != 0)
+	((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
 
 #define ICMP6_FILTER_SETPASS(type, filterp) \
-	((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1U << ((type) & 31))))
+	((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))
 
 #define ICMP6_FILTER_SETBLOCK(type, filterp) \
-	((((filterp)->icmp6_filt[(type) >> 5]) |=  (1U << ((type) & 31))))
+	((((filterp)->icmp6_filt[(type) >> 5]) |=  (1 << ((type) & 31))))
 
 #define ICMP6_FILTER_SETPASSALL(filterp) \
 	memset (filterp, 0, sizeof (struct icmp6_filter));
lib/libc/include/generic-glibc/netinet/in.h
@@ -87,12 +87,8 @@ enum
 #define IPPROTO_UDPLITE		IPPROTO_UDPLITE
     IPPROTO_MPLS = 137,    /* MPLS in IP.  */
 #define IPPROTO_MPLS		IPPROTO_MPLS
-    IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation.  */
-#define IPPROTO_ETHERNET	IPPROTO_ETHERNET
     IPPROTO_RAW = 255,	   /* Raw IP packets.  */
 #define IPPROTO_RAW		IPPROTO_RAW
-    IPPROTO_MPTCP = 262,   /* Multipath TCP connection.  */
-#define IPPROTO_MPTCP		IPPROTO_MPTCP
     IPPROTO_MAX
   };
 
lib/libc/include/generic-glibc/sys/asm.h
@@ -0,0 +1,497 @@
+/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ASM_H
+#define _SYS_ASM_H
+
+#include <sgidefs.h>
+
+#ifndef CAT
+# define __CAT(str1,str2) str1##str2
+# define CAT(str1,str2) __CAT(str1,str2)
+#endif
+
+/* Redefined as nonempty in the internal header.  */
+#define __mips_cfi_startproc /* Empty.  */
+#define __mips_cfi_endproc /* Empty.  */
+
+/*
+ * Macros to handle different pointer/register sizes for 32/64-bit code
+ *
+ * 64 bit address space isn't used yet, so we may use the R3000 32 bit
+ * defines for now.
+ */
+#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
+# define PTR .word
+# define PTRSIZE 4
+# define PTRLOG 2
+#elif _MIPS_SIM == _ABI64
+# define PTR .dword
+# define PTRSIZE 8
+# define PTRLOG 3
+#endif
+
+/*
+ * PIC specific declarations
+ */
+#if _MIPS_SIM == _ABIO32
+# ifdef __PIC__
+#  define CPRESTORE(register) \
+		.cprestore register
+#  define CPLOAD(register) \
+		.cpload register
+# else
+#  define CPRESTORE(register)
+#  define CPLOAD(register)
+# endif
+
+# define CPADD(register) \
+		.cpadd	register
+
+/*
+ * Set gp when at 1st instruction
+ */
+# define SETUP_GP					\
+		.set noreorder;				\
+		.cpload $25;				\
+		.set reorder
+/* Set gp when not at 1st instruction */
+# define SETUP_GPX(r)					\
+		.set noreorder;				\
+		move r, $31;	 /* Save old ra.  */	\
+		bal 10f; /* Find addr of cpload.  */	\
+		nop;					\
+10:							\
+		.cpload $31;				\
+		move $31, r;				\
+		.set reorder
+# define SETUP_GPX_L(r, l)				\
+		.set noreorder;				\
+		move r, $31;	 /* Save old ra.  */	\
+		bal l;   /* Find addr of cpload.  */	\
+		nop;					\
+l:							\
+		.cpload $31;				\
+		move $31, r;				\
+		.set reorder
+# define SAVE_GP(x) \
+		.cprestore x /* Save gp trigger t9/jalr conversion.	 */
+# define SETUP_GP64(a, b)
+# define SETUP_GPX64(a, b)
+# define SETUP_GPX64_L(cp_reg, ra_save, l)
+# define RESTORE_GP64
+# define USE_ALT_CP(a)
+#else /* _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 */
+/*
+ * For callee-saved gp calling convention:
+ */
+# define SETUP_GP
+# define SETUP_GPX(r)
+# define SETUP_GPX_L(r, l)
+# define SAVE_GP(x)
+
+# define SETUP_GP64(gpoffset, proc) \
+		.cpsetup $25, gpoffset, proc
+# define SETUP_GPX64(cp_reg, ra_save)			\
+		move ra_save, $31; /* Save old ra.  */	\
+		.set noreorder;				\
+		bal 10f; /* Find addr of .cpsetup.  */	\
+		nop;					\
+10:							\
+		.set reorder;				\
+		.cpsetup $31, cp_reg, 10b;		\
+		move $31, ra_save
+# define SETUP_GPX64_L(cp_reg, ra_save, l)  \
+		move ra_save, $31; /* Save old ra.  */	\
+		.set noreorder;				\
+		bal l;   /* Find addr of .cpsetup.  */	\
+		nop;					\
+l:							\
+		.set reorder;				\
+		.cpsetup $31, cp_reg, l;		\
+		move $31, ra_save
+# define RESTORE_GP64 \
+		.cpreturn
+/* Use alternate register for context pointer.  */
+# define USE_ALT_CP(reg)	\
+		.cplocal reg
+#endif /* _MIPS_SIM != _ABIO32 */
+
+/*
+ * Stack Frame Definitions
+ */
+#if _MIPS_SIM == _ABIO32
+# define NARGSAVE 4 /* Space for 4 argument registers must be allocated.  */
+#endif
+#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32
+# define NARGSAVE 0 /* No caller responsibilities.  */
+#endif
+
+
+/*
+ * LEAF - declare leaf routine
+ */
+#define	LEAF(symbol)                                    \
+		.globl	symbol;                         \
+		.align	2;                              \
+		.type	symbol,@function;               \
+		.ent	symbol,0;                       \
+symbol:		.frame	sp,0,ra;			\
+		__mips_cfi_startproc
+
+/*
+ * NESTED - declare nested routine entry point
+ */
+#define	NESTED(symbol, framesize, rpc)                  \
+		.globl	symbol;                         \
+		.align	2;                              \
+		.type	symbol,@function;               \
+		.ent	symbol,0;                       \
+symbol:		.frame	sp, framesize, rpc;		\
+		__mips_cfi_startproc
+
+/*
+ * END - mark end of function
+ */
+#ifndef END
+# define END(function)                                   \
+		__mips_cfi_endproc;			\
+		.end	function;		        \
+		.size	function,.-function
+#endif
+
+/*
+ * EXPORT - export definition of symbol
+ */
+#define	EXPORT(symbol)                                  \
+		.globl	symbol;                         \
+symbol:		__mips_cfi_startproc
+
+/*
+ * ABS - export absolute symbol
+ */
+#define	ABS(symbol,value)                               \
+		.globl	symbol;                         \
+symbol		=	value
+
+#define	PANIC(msg)                                      \
+		.set	push;				\
+		.set	reorder;                        \
+		la	a0,8f;                          \
+		jal	panic;                          \
+9:		b	9b;                             \
+		.set	pop;				\
+		TEXT(msg)
+
+/*
+ * Print formated string
+ */
+#define PRINT(string)                                   \
+		.set	push;				\
+		.set	reorder;                        \
+		la	a0,8f;                          \
+		jal	printk;                         \
+		.set	pop;				\
+		TEXT(string)
+
+#define	TEXT(msg)                                       \
+		.data;                                  \
+8:		.asciiz	msg;                            \
+		.previous;
+
+/*
+ * Build text tables
+ */
+#define TTABLE(string)                                  \
+		.text;                                  \
+		.word	1f;                             \
+		.previous;                              \
+		.data;                                  \
+1:		.asciz	string;                         \
+		.previous
+
+/*
+ * MIPS IV pref instruction.
+ * Use with .set noreorder only!
+ *
+ * MIPS IV implementations are free to treat this as a nop.  The R5000
+ * is one of them.  So we should have an option not to use this instruction.
+ */
+#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) \
+    || (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
+# define PREF(hint,addr)                                 \
+		pref	hint,addr
+# define PREFX(hint,addr)                                \
+		prefx	hint,addr
+#else
+# define PREF(hint,addr)
+# define PREFX(hint,addr)
+#endif
+
+/*
+ * MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs.
+ */
+#if _MIPS_ISA == _MIPS_ISA_MIPS1
+# define MOVN(rd,rs,rt)					\
+		.set	push;				\
+		.set	reorder;			\
+		beqz	rt,9f;				\
+		move	rd,rs;				\
+		.set	pop;				\
+9:
+# define MOVZ(rd,rs,rt)					\
+		.set	push;				\
+		.set	reorder;			\
+		bnez	rt,9f;				\
+		move	rd,rt;				\
+		.set	pop;				\
+9:
+#endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */
+#if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3)
+# define MOVN(rd,rs,rt)					\
+		.set	push;				\
+		.set	noreorder;			\
+		bnezl	rt,9f;				\
+		move	rd,rs;				\
+		.set	pop;				\
+9:
+# define MOVZ(rd,rs,rt)					\
+		.set	push;				\
+		.set	noreorder;			\
+		beqzl	rt,9f;				\
+		movz	rd,rs;				\
+		.set	pop;				\
+9:
+#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */
+#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) \
+    || (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
+# define MOVN(rd,rs,rt)					\
+		movn	rd,rs,rt
+# define MOVZ(rd,rs,rt)					\
+		movz	rd,rs,rt
+#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) */
+
+/*
+ * Stack alignment
+ */
+#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32
+# define ALSZ	15
+# define ALMASK	~15
+#else
+# define ALSZ	7
+# define ALMASK	~7
+#endif
+
+/*
+ * Size of a register
+ */
+#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32
+# define SZREG	8
+#else
+# define SZREG	4
+#endif
+
+/*
+ * Use the following macros in assemblercode to load/store registers,
+ * pointers etc.
+ */
+#if (SZREG == 4)
+# define REG_S sw
+# define REG_L lw
+#else
+# define REG_S sd
+# define REG_L ld
+#endif
+
+/*
+ * How to add/sub/load/store/shift C int variables.
+ */
+#if (_MIPS_SZINT == 32)
+# define INT_ADD	add
+# define INT_ADDI	addi
+# define INT_ADDU	addu
+# define INT_ADDIU	addiu
+# define INT_SUB	sub
+# define INT_SUBI	subi
+# define INT_SUBU	subu
+# define INT_SUBIU	subu
+# define INT_L		lw
+# define INT_S		sw
+#endif
+
+#if (_MIPS_SZINT == 64)
+# define INT_ADD	dadd
+# define INT_ADDI	daddi
+# define INT_ADDU	daddu
+# define INT_ADDIU	daddiu
+# define INT_SUB	dsub
+# define INT_SUBI	dsubi
+# define INT_SUBU	dsubu
+# define INT_SUBIU	dsubu
+# define INT_L		ld
+# define INT_S		sd
+#endif
+
+/*
+ * How to add/sub/load/store/shift C long variables.
+ */
+#if (_MIPS_SZLONG == 32)
+# define LONG_ADD	add
+# define LONG_ADDI	addi
+# define LONG_ADDU	addu
+# define LONG_ADDIU	addiu
+# define LONG_SUB	sub
+# define LONG_SUBI	subi
+# define LONG_SUBU	subu
+# define LONG_SUBIU	subu
+# define LONG_L		lw
+# define LONG_S		sw
+# define LONG_SLL	sll
+# define LONG_SLLV	sllv
+# define LONG_SRL	srl
+# define LONG_SRLV	srlv
+# define LONG_SRA	sra
+# define LONG_SRAV	srav
+#endif
+
+#if (_MIPS_SZLONG == 64)
+# define LONG_ADD	dadd
+# define LONG_ADDI	daddi
+# define LONG_ADDU	daddu
+# define LONG_ADDIU	daddiu
+# define LONG_SUB	dsub
+# define LONG_SUBI	dsubi
+# define LONG_SUBU	dsubu
+# define LONG_SUBIU	dsubu
+# define LONG_L		ld
+# define LONG_S		sd
+# define LONG_SLL	dsll
+# define LONG_SLLV	dsllv
+# define LONG_SRL	dsrl
+# define LONG_SRLV	dsrlv
+# define LONG_SRA	dsra
+# define LONG_SRAV	dsrav
+#endif
+
+/*
+ * How to add/sub/load/store/shift pointers.
+ */
+#if (_MIPS_SIM == _ABIO32 && _MIPS_SZPTR == 32)
+# define PTR_ADD	add
+# define PTR_ADDI	addi
+# define PTR_ADDU	addu
+# define PTR_ADDIU	addiu
+# define PTR_SUB	sub
+# define PTR_SUBI	subi
+# define PTR_SUBU	subu
+# define PTR_SUBIU	subu
+# define PTR_L		lw
+# define PTR_LA		la
+# define PTR_S		sw
+# define PTR_SLL	sll
+# define PTR_SLLV	sllv
+# define PTR_SRL	srl
+# define PTR_SRLV	srlv
+# define PTR_SRA	sra
+# define PTR_SRAV	srav
+
+# define PTR_SCALESHIFT	2
+#endif
+
+#if _MIPS_SIM == _ABIN32
+# define PTR_ADD	add
+# define PTR_ADDI	addi
+# define PTR_SUB	sub
+# define PTR_SUBI	subi
+#if !defined __mips_isa_rev || __mips_isa_rev < 6
+# define PTR_ADDU	add /* no u */
+# define PTR_ADDIU	addi /* no u */
+# define PTR_SUBU	sub /* no u */
+# define PTR_SUBIU	sub /* no u */
+#else
+# define PTR_ADDU       addu
+# define PTR_ADDIU      addiu
+# define PTR_SUBU       subu
+# define PTR_SUBIU      subu
+#endif
+# define PTR_L		lw
+# define PTR_LA		la
+# define PTR_S		sw
+# define PTR_SLL	sll
+# define PTR_SLLV	sllv
+# define PTR_SRL	srl
+# define PTR_SRLV	srlv
+# define PTR_SRA	sra
+# define PTR_SRAV	srav
+
+# define PTR_SCALESHIFT	2
+#endif
+
+#if (_MIPS_SIM == _ABIO32 && _MIPS_SZPTR == 64 /* o64??? */) \
+    || _MIPS_SIM == _ABI64
+# define PTR_ADD	dadd
+# define PTR_ADDI	daddi
+# define PTR_ADDU	daddu
+# define PTR_ADDIU	daddiu
+# define PTR_SUB	dsub
+# define PTR_SUBI	dsubi
+# define PTR_SUBU	dsubu
+# define PTR_SUBIU	dsubu
+# define PTR_L		ld
+# define PTR_LA		dla
+# define PTR_S		sd
+# define PTR_SLL	dsll
+# define PTR_SLLV	dsllv
+# define PTR_SRL	dsrl
+# define PTR_SRLV	dsrlv
+# define PTR_SRA	dsra
+# define PTR_SRAV	dsrav
+
+# define PTR_SCALESHIFT	3
+#endif
+
+/*
+ * Some cp0 registers were extended to 64bit for MIPS III.
+ */
+#if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) \
+    || (_MIPS_ISA == _MIPS_ISA_MIPS32)
+# define MFC0	mfc0
+# define MTC0	mtc0
+#endif
+#if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) \
+    || (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
+# define MFC0	dmfc0
+# define MTC0	dmtc0
+#endif
+
+/* The MIPS architectures do not have a uniform memory model.  Particular
+   platforms may provide additional guarantees - for instance, the R4000
+   LL and SC instructions implicitly perform a SYNC, and the 4K promises
+   strong ordering.
+
+   However, in the absence of those guarantees, we must assume weak ordering
+   and SYNC explicitly where necessary.
+
+   Some obsolete MIPS processors may not support the SYNC instruction.  This
+   applies to "true" MIPS I processors; most of the processors which compile
+   using MIPS I implement parts of MIPS II.  */
+
+#ifndef MIPS_SYNC
+# define MIPS_SYNC	sync
+#endif
+
+#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/cachectl.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_CACHECTL_H
+#define _SYS_CACHECTL_H 1
+
+#include <features.h>
+
+/*
+ * Get the kernel definition for the op bits.
+ */
+#include <asm/cachectl.h>
+
+__BEGIN_DECLS
+
+#ifdef __USE_MISC
+extern int cachectl (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int __cachectl (void *__addr, const int __nbytes, const int __op) __THROW;
+#ifdef __USE_MISC
+extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
+
+__END_DECLS
+
+#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/cdefs.h
@@ -452,37 +452,7 @@
 #include <bits/wordsize.h>
 #include <bits/long-double.h>
 
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-# ifdef __REDIRECT
-
-/* Alias name defined automatically.  */
-#  define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
-#  define __LDBL_REDIR_DECL(name) \
-  extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
-
-/* Alias name defined automatically, with leading underscores.  */
-#  define __LDBL_REDIR2_DECL(name) \
-  extern __typeof (__##name) __##name \
-    __asm (__ASMNAME ("__" #name "ieee128"));
-
-/* Alias name defined manually.  */
-#  define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
-#  define __LDBL_REDIR1_DECL(name, alias) \
-  extern __typeof (name) name __asm (__ASMNAME (#alias));
-
-#  define __LDBL_REDIR1_NTH(name, proto, alias) \
-  __REDIRECT_NTH (name, proto, alias)
-#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
-  __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
-
-/* Unused.  */
-#  define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
-#  define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
-
-# else
-_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
-# endif
-#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
+#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
 # define __LDBL_COMPAT 1
 # ifdef __REDIRECT
 #  define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
@@ -491,8 +461,6 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
 #  define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
 #  define __LDBL_REDIR_NTH(name, proto) \
   __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
-#  define __LDBL_REDIR2_DECL(name) \
-  extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
 #  define __LDBL_REDIR1_DECL(name, alias) \
   extern __typeof (name) name __asm (__ASMNAME (#alias));
 #  define __LDBL_REDIR_DECL(name) \
@@ -503,13 +471,11 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
   __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
 # endif
 #endif
-#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
-    || !defined __REDIRECT
+#if !defined __LDBL_COMPAT || !defined __REDIRECT
 # define __LDBL_REDIR1(name, proto, alias) name proto
 # define __LDBL_REDIR(name, proto) name proto
 # define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
 # define __LDBL_REDIR_NTH(name, proto) name proto __THROW
-# define __LDBL_REDIR2_DECL(name)
 # define __LDBL_REDIR_DECL(name)
 # ifdef __REDIRECT
 #  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
@@ -548,15 +514,4 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
 # define __HAVE_GENERIC_SELECTION 0
 #endif
 
-#if __GNUC_PREREQ (10, 0)
-/* Designates a 1-based positional argument ref-index of pointer type
-   that can be used to access size-index elements of the pointed-to
-   array according to access mode, or at least one element when
-   size-index is not provided:
-     access (access-mode, <ref-index> [, <size-index>])  */
-#define __attr_access(x) __attribute__ ((__access__ x))
-#else
-#  define __attr_access(x)
-#endif
-
 #endif	 /* sys/cdefs.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2020 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,18 +12,14 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SYS_ELF_H
 #define _SYS_ELF_H	1
 
-#ifdef __x86_64__
-# error This header is unsupported on x86-64.
-#else
-# warning "This header is obsolete; use <sys/procfs.h> instead."
+#warning "This header is obsolete; use <sys/procfs.h> instead."
 
-# include <sys/procfs.h>
-#endif
+#include <sys/procfs.h>
 
-#endif	/* _SYS_ELF_H */
\ No newline at end of file
+#endif	/* sys/elf.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/ptrace.h
@@ -1,4 +1,4 @@
-/* `ptrace' debugger support interface.  Linux/x86 version.
+/* `ptrace' debugger support interface.  Linux version.
    Copyright (C) 1996-2020 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -70,19 +70,23 @@ enum __ptrace_request
   PTRACE_SINGLESTEP = 9,
 #define PT_STEP PTRACE_SINGLESTEP
 
-  /* Get all general purpose registers used by a processes.  */
+  /* Get all general purpose registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_GETREGS = 12,
 #define PT_GETREGS PTRACE_GETREGS
 
-  /* Set all general purpose registers used by a processes.  */
+  /* Set all general purpose registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_SETREGS = 13,
 #define PT_SETREGS PTRACE_SETREGS
 
-  /* Get all floating point registers used by a processes.  */
+  /* Get all floating point registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_GETFPREGS = 14,
 #define PT_GETFPREGS PTRACE_GETFPREGS
 
-  /* Set all floating point registers used by a processes.  */
+  /* Set all floating point registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_SETFPREGS = 15,
 #define PT_SETFPREGS PTRACE_SETFPREGS
 
@@ -94,11 +98,13 @@ enum __ptrace_request
   PTRACE_DETACH = 17,
 #define PT_DETACH PTRACE_DETACH
 
-  /* Get all extended floating point registers used by a processes.  */
+  /* Get all extended floating point registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_GETFPXREGS = 18,
 #define PT_GETFPXREGS PTRACE_GETFPXREGS
 
-  /* Set all extended floating point registers used by a processes.  */
+  /* Set all extended floating point registers used by a processes.
+     This is not supported on all machines.  */
   PTRACE_SETFPXREGS = 19,
 #define PT_SETFPXREGS PTRACE_SETFPXREGS
 
@@ -106,32 +112,6 @@ enum __ptrace_request
   PTRACE_SYSCALL = 24,
 #define PT_SYSCALL PTRACE_SYSCALL
 
-  /* Get a TLS entry in the GDT.  */
-  PTRACE_GET_THREAD_AREA = 25,
-#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
-
-  /* Change a TLS entry in the GDT.  */
-  PTRACE_SET_THREAD_AREA = 26,
-#define PT_SET_THREAD_AREA PTRACE_SET_THREAD_AREA
-
-#ifdef __x86_64__
-  /* Access TLS data.  */
-  PTRACE_ARCH_PRCTL = 30,
-# define PT_ARCH_PRCTL PTRACE_ARCH_PRCTL
-#endif
-
-  /* Continue and stop at the next syscall, it will not be executed.  */
-  PTRACE_SYSEMU = 31,
-#define PT_SYSEMU PTRACE_SYSEMU
-
-  /* Single step the process, the next syscall will not be executed.  */
-  PTRACE_SYSEMU_SINGLESTEP = 32,
-#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
-
-  /* Execute process until next taken branch.  */
-  PTRACE_SINGLEBLOCK = 33,
-#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
-
   /* Set ptrace filter options.  */
   PTRACE_SETOPTIONS = 0x4200,
 #define PT_SETOPTIONS PTRACE_SETOPTIONS
lib/libc/include/generic-glibc/sys/random.h
@@ -25,7 +25,6 @@
 /* Flags for use with getrandom.  */
 #define GRND_NONBLOCK 0x01
 #define GRND_RANDOM 0x02
-#define GRND_INSECURE 0x04
 
 __BEGIN_DECLS
 
lib/libc/include/generic-glibc/sys/sysctl.h
@@ -0,0 +1,76 @@
+/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_SYSCTL_H
+#define	_SYS_SYSCTL_H	1
+
+#warning "The <sys/sysctl.h> header is deprecated and will be removed."
+
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+/* Prevent more kernel headers than necessary to be included.  */
+#ifndef _LINUX_KERNEL_H
+# define _LINUX_KERNEL_H	1
+# define __undef_LINUX_KERNEL_H
+#endif
+#ifndef _LINUX_TYPES_H
+# define _LINUX_TYPES_H		1
+# define __undef_LINUX_TYPES_H
+#endif
+#ifndef _LINUX_LIST_H
+# define _LINUX_LIST_H		1
+# define __undef_LINUX_LIST_H
+#endif
+#ifndef __LINUX_COMPILER_H
+# define __LINUX_COMPILER_H	1
+# define __user
+# define __undef__LINUX_COMPILER_H
+#endif
+
+#include <linux/sysctl.h>
+
+#ifdef __undef_LINUX_KERNEL_H
+# undef _LINUX_KERNEL_H
+# undef __undef_LINUX_KERNEL_H
+#endif
+#ifdef __undef_LINUX_TYPES_H
+# undef _LINUX_TYPES_H
+# undef __undef_LINUX_TYPES_H
+#endif
+#ifdef __undef_LINUX_LIST_H
+# undef _LINUX_LIST_H
+# undef __undef_LINUX_LIST_H
+#endif
+#ifdef __undef__LINUX_COMPILER_H
+# undef __LINUX_COMPILER_H
+# undef __user
+# undef __undef__LINUX_COMPILER_H
+#endif
+
+#include <bits/sysctl.h>
+
+__BEGIN_DECLS
+
+/* Read or write system parameters.  */
+extern int sysctl (int *__name, int __nlen, void *__oldval,
+		   size_t *__oldlenp, void *__newval, size_t __newlen) __THROW
+  __attribute_deprecated__;
+
+__END_DECLS
+
+#endif	/* _SYS_SYSCTL_H */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/syslog.h
@@ -206,9 +206,7 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
 # include <bits/syslog.h>
 #endif
-
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/syslog-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/sys/ucontext.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
+/* Copyright (C) 1997-2020 Free Software Foundation, Inc.  This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -12,236 +11,103 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
+/* Don't rely on this, the interface is currently messed up and may need to
+   be broken to be fixed.  */
 #ifndef _SYS_UCONTEXT_H
 #define _SYS_UCONTEXT_H	1
 
 #include <features.h>
 
-#include <bits/types.h>
 #include <bits/types/sigset_t.h>
 #include <bits/types/stack_t.h>
 
+#include <sgidefs.h>
 
-#ifdef __USE_MISC
-# define __ctx(fld) fld
-#else
-# define __ctx(fld) __ ## fld
-#endif
-
-#ifdef __x86_64__
 
-/* Type for general register.  */
-__extension__ typedef long long int greg_t;
+/* Type for general register.  Even in o32 we assume 64-bit registers,
+   like the kernel.  */
+__extension__ typedef unsigned long long int greg_t;
 
 /* Number of general registers.  */
-#define __NGREG	23
+#define __NGREG	32
+#define __NFPREG	32
 #ifdef __USE_MISC
 # define NGREG	__NGREG
+# define NFPREG	__NFPREG
 #endif
 
 /* Container for all general registers.  */
 typedef greg_t gregset_t[__NGREG];
 
-#ifdef __USE_GNU
-/* Number of each register in the `gregset_t' array.  */
-enum
-{
-  REG_R8 = 0,
-# define REG_R8		REG_R8
-  REG_R9,
-# define REG_R9		REG_R9
-  REG_R10,
-# define REG_R10	REG_R10
-  REG_R11,
-# define REG_R11	REG_R11
-  REG_R12,
-# define REG_R12	REG_R12
-  REG_R13,
-# define REG_R13	REG_R13
-  REG_R14,
-# define REG_R14	REG_R14
-  REG_R15,
-# define REG_R15	REG_R15
-  REG_RDI,
-# define REG_RDI	REG_RDI
-  REG_RSI,
-# define REG_RSI	REG_RSI
-  REG_RBP,
-# define REG_RBP	REG_RBP
-  REG_RBX,
-# define REG_RBX	REG_RBX
-  REG_RDX,
-# define REG_RDX	REG_RDX
-  REG_RAX,
-# define REG_RAX	REG_RAX
-  REG_RCX,
-# define REG_RCX	REG_RCX
-  REG_RSP,
-# define REG_RSP	REG_RSP
-  REG_RIP,
-# define REG_RIP	REG_RIP
-  REG_EFL,
-# define REG_EFL	REG_EFL
-  REG_CSGSFS,		/* Actually short cs, gs, fs, __pad0.  */
-# define REG_CSGSFS	REG_CSGSFS
-  REG_ERR,
-# define REG_ERR	REG_ERR
-  REG_TRAPNO,
-# define REG_TRAPNO	REG_TRAPNO
-  REG_OLDMASK,
-# define REG_OLDMASK	REG_OLDMASK
-  REG_CR2
-# define REG_CR2	REG_CR2
-};
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
 #endif
 
-struct _libc_fpxreg
-{
-  unsigned short int __ctx(significand)[4];
-  unsigned short int __ctx(exponent);
-  unsigned short int __glibc_reserved1[3];
-};
-
-struct _libc_xmmreg
-{
-  __uint32_t	__ctx(element)[4];
-};
+/* Container for all FPU registers.  */
+typedef struct {
+	union {
+		double	__ctx(fp_dregs)[__NFPREG];
+		struct {
+			float		_fp_fregs;
+			unsigned int	_fp_pad;
+		} __ctx(fp_fregs)[__NFPREG];
+	} __ctx(fp_r);
+} fpregset_t;
 
-struct _libc_fpstate
-{
-  /* 64-bit FXSAVE format.  */
-  __uint16_t		__ctx(cwd);
-  __uint16_t		__ctx(swd);
-  __uint16_t		__ctx(ftw);
-  __uint16_t		__ctx(fop);
-  __uint64_t		__ctx(rip);
-  __uint64_t		__ctx(rdp);
-  __uint32_t		__ctx(mxcsr);
-  __uint32_t		__ctx(mxcr_mask);
-  struct _libc_fpxreg	_st[8];
-  struct _libc_xmmreg	_xmm[16];
-  __uint32_t		__glibc_reserved1[24];
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct _libc_fpstate *fpregset_t;
 
 /* Context to describe whole processor state.  */
+#if _MIPS_SIM == _ABIO32
+/* Earlier versions of glibc for mips had an entirely different
+   definition of mcontext_t, that didn't even resemble the
+   corresponding kernel data structure.  Fortunately, makecontext,
+   [gs]etcontext et all were not implemented back then, so this can
+   still be rectified.  */
 typedef struct
   {
+    unsigned int __ctx(regmask);
+    unsigned int __ctx(status);
+    greg_t __ctx(pc);
     gregset_t __ctx(gregs);
-    /* Note that fpregs is a pointer.  */
     fpregset_t __ctx(fpregs);
-    __extension__ unsigned long long __reserved1 [8];
-} mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext_t
-  {
-    unsigned long int __ctx(uc_flags);
-    struct ucontext_t *uc_link;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    sigset_t uc_sigmask;
-    struct _libc_fpstate __fpregs_mem;
-    __extension__ unsigned long long int __ssp[4];
-  } ucontext_t;
-
-#else /* !__x86_64__ */
-
-/* Type for general register.  */
-typedef int greg_t;
-
-/* Number of general registers.  */
-#define __NGREG	19
-#ifdef __USE_MISC
-# define NGREG	__NGREG
-#endif
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[__NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  REG_GS = 0,
-# define REG_GS		REG_GS
-  REG_FS,
-# define REG_FS		REG_FS
-  REG_ES,
-# define REG_ES		REG_ES
-  REG_DS,
-# define REG_DS		REG_DS
-  REG_EDI,
-# define REG_EDI	REG_EDI
-  REG_ESI,
-# define REG_ESI	REG_ESI
-  REG_EBP,
-# define REG_EBP	REG_EBP
-  REG_ESP,
-# define REG_ESP	REG_ESP
-  REG_EBX,
-# define REG_EBX	REG_EBX
-  REG_EDX,
-# define REG_EDX	REG_EDX
-  REG_ECX,
-# define REG_ECX	REG_ECX
-  REG_EAX,
-# define REG_EAX	REG_EAX
-  REG_TRAPNO,
-# define REG_TRAPNO	REG_TRAPNO
-  REG_ERR,
-# define REG_ERR	REG_ERR
-  REG_EIP,
-# define REG_EIP	REG_EIP
-  REG_CS,
-# define REG_CS		REG_CS
-  REG_EFL,
-# define REG_EFL	REG_EFL
-  REG_UESP,
-# define REG_UESP	REG_UESP
-  REG_SS
-# define REG_SS	REG_SS
-};
-#endif
-
-/* Definitions taken from the kernel headers.  */
-struct _libc_fpreg
-{
-  unsigned short int __ctx(significand)[4];
-  unsigned short int __ctx(exponent);
-};
-
-struct _libc_fpstate
-{
-  unsigned long int __ctx(cw);
-  unsigned long int __ctx(sw);
-  unsigned long int __ctx(tag);
-  unsigned long int __ctx(ipoff);
-  unsigned long int __ctx(cssel);
-  unsigned long int __ctx(dataoff);
-  unsigned long int __ctx(datasel);
-  struct _libc_fpreg _st[8];
-  unsigned long int __ctx(status);
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct _libc_fpstate *fpregset_t;
-
-/* Context to describe whole processor state.  */
+    unsigned int __ctx(fp_owned);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(fpc_eir);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(mdlo);
+    unsigned long __ctx(hi1);
+    unsigned long __ctx(lo1);
+    unsigned long __ctx(hi2);
+    unsigned long __ctx(lo2);
+    unsigned long __ctx(hi3);
+    unsigned long __ctx(lo3);
+  } mcontext_t;
+#else
 typedef struct
   {
     gregset_t __ctx(gregs);
-    /* Due to Linux's history we have to use a pointer here.  The SysV/i386
-       ABI requires a struct with the values.  */
     fpregset_t __ctx(fpregs);
-    unsigned long int __ctx(oldmask);
-    unsigned long int __ctx(cr2);
+    greg_t __ctx(mdhi);
+    greg_t __ctx(hi1);
+    greg_t __ctx(hi2);
+    greg_t __ctx(hi3);
+    greg_t __ctx(mdlo);
+    greg_t __ctx(lo1);
+    greg_t __ctx(lo2);
+    greg_t __ctx(lo3);
+    greg_t __ctx(pc);
+    unsigned int __ctx(fpc_csr);
+    unsigned int __ctx(used_math);
+    unsigned int __ctx(dsp);
+    unsigned int __glibc_reserved1;
   } mcontext_t;
+#endif
 
 /* Userlevel context.  */
 typedef struct ucontext_t
@@ -251,12 +117,8 @@ typedef struct ucontext_t
     stack_t uc_stack;
     mcontext_t uc_mcontext;
     sigset_t uc_sigmask;
-    struct _libc_fpstate __fpregs_mem;
-    unsigned long int __ssp[4];
   } ucontext_t;
 
-#endif /* !__x86_64__ */
-
 #undef __ctx
 
 #endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/user.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,169 +12,199 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SYS_USER_H
 #define _SYS_USER_H	1
 
+#include <sgidefs.h>
+#include <stddef.h>
+
 /* The whole purpose of this file is for GDB and GDB only.  Don't read
    too much into it.  Don't use it for anything other than GDB unless
    you know what you are doing.  */
 
-#ifdef __x86_64__
+/* #include <asm/reg.h> */
+/* Instead of including the kernel header, that will vary depending on
+   whether the 32- or the 64-bit kernel is installed, we paste its
+   contents here.  Note that the fact that the file is inline here,
+   instead of included separately, doesn't change in any way the
+   licensing status of a program that includes user.h.  Since this is
+   for gdb alone, and gdb is GPLed, no surprises here.  */
+#if _MIPS_SIM == _ABIO32
+/*
+ * Various register offset definitions for debuggers, core file
+ * examiners and whatnot.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 1995, 1999 by Ralf Baechle
+ */
+#ifndef __ASM_MIPS_REG_H
+#define __ASM_MIPS_REG_H
 
-struct user_fpregs_struct
-{
-  unsigned short int	cwd;
-  unsigned short int	swd;
-  unsigned short int	ftw;
-  unsigned short int	fop;
-  __extension__ unsigned long long int rip;
-  __extension__ unsigned long long int rdp;
-  unsigned int		mxcsr;
-  unsigned int		mxcr_mask;
-  unsigned int		st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
-  unsigned int		xmm_space[64];  /* 16*16 bytes for each XMM-reg = 256 bytes */
-  unsigned int		padding[24];
-};
+/*
+ * This defines/structures correspond to the register layout on stack -
+ * if the order here is changed, it needs to be updated in
+ * include/asm-mips/stackframe.h
+ */
+#define EF_REG0			6
+#define EF_REG1			7
+#define EF_REG2			8
+#define EF_REG3			9
+#define EF_REG4			10
+#define EF_REG5			11
+#define EF_REG6			12
+#define EF_REG7			13
+#define EF_REG8			14
+#define EF_REG9			15
+#define EF_REG10		16
+#define EF_REG11		17
+#define EF_REG12		18
+#define EF_REG13		19
+#define EF_REG14		20
+#define EF_REG15		21
+#define EF_REG16		22
+#define EF_REG17		23
+#define EF_REG18		24
+#define EF_REG19		25
+#define EF_REG20		26
+#define EF_REG21		27
+#define EF_REG22		28
+#define EF_REG23		29
+#define EF_REG24		30
+#define EF_REG25		31
+/*
+ * k0/k1 unsaved
+ */
+#define EF_REG28		34
+#define EF_REG29		35
+#define EF_REG30		36
+#define EF_REG31		37
 
-struct user_regs_struct
-{
-  __extension__ unsigned long long int r15;
-  __extension__ unsigned long long int r14;
-  __extension__ unsigned long long int r13;
-  __extension__ unsigned long long int r12;
-  __extension__ unsigned long long int rbp;
-  __extension__ unsigned long long int rbx;
-  __extension__ unsigned long long int r11;
-  __extension__ unsigned long long int r10;
-  __extension__ unsigned long long int r9;
-  __extension__ unsigned long long int r8;
-  __extension__ unsigned long long int rax;
-  __extension__ unsigned long long int rcx;
-  __extension__ unsigned long long int rdx;
-  __extension__ unsigned long long int rsi;
-  __extension__ unsigned long long int rdi;
-  __extension__ unsigned long long int orig_rax;
-  __extension__ unsigned long long int rip;
-  __extension__ unsigned long long int cs;
-  __extension__ unsigned long long int eflags;
-  __extension__ unsigned long long int rsp;
-  __extension__ unsigned long long int ss;
-  __extension__ unsigned long long int fs_base;
-  __extension__ unsigned long long int gs_base;
-  __extension__ unsigned long long int ds;
-  __extension__ unsigned long long int es;
-  __extension__ unsigned long long int fs;
-  __extension__ unsigned long long int gs;
-};
+/*
+ * Saved special registers
+ */
+#define EF_LO			38
+#define EF_HI			39
+
+#define EF_CP0_EPC		40
+#define EF_CP0_BADVADDR		41
+#define EF_CP0_STATUS		42
+#define EF_CP0_CAUSE		43
+
+#define EF_SIZE			180	/* size in bytes */
+
+#endif /* __ASM_MIPS_REG_H */
+
+#else /* _MIPS_SIM != _ABIO32 */
+
+/*
+ * Various register offset definitions for debuggers, core file
+ * examiners and whatnot.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 1995, 1999 Ralf Baechle
+ * Copyright (C) 1995, 1999 Silicon Graphics
+ */
+#ifndef _ASM_REG_H
+#define _ASM_REG_H
+
+/*
+ * This defines/structures correspond to the register layout on stack -
+ * if the order here is changed, it needs to be updated in
+ * include/asm-mips/stackframe.h
+ */
+#define EF_REG0			 0
+#define EF_REG1			 1
+#define EF_REG2			 2
+#define EF_REG3			 3
+#define EF_REG4			 4
+#define EF_REG5			 5
+#define EF_REG6			 6
+#define EF_REG7			 7
+#define EF_REG8			 8
+#define EF_REG9			 9
+#define EF_REG10		10
+#define EF_REG11		11
+#define EF_REG12		12
+#define EF_REG13		13
+#define EF_REG14		14
+#define EF_REG15		15
+#define EF_REG16		16
+#define EF_REG17		17
+#define EF_REG18		18
+#define EF_REG19		19
+#define EF_REG20		20
+#define EF_REG21		21
+#define EF_REG22		22
+#define EF_REG23		23
+#define EF_REG24		24
+#define EF_REG25		25
+/*
+ * k0/k1 unsaved
+ */
+#define EF_REG28		28
+#define EF_REG29		29
+#define EF_REG30		30
+#define EF_REG31		31
+
+/*
+ * Saved special registers
+ */
+#define EF_LO			32
+#define EF_HI			33
+
+#define EF_CP0_EPC		34
+#define EF_CP0_BADVADDR		35
+#define EF_CP0_STATUS		36
+#define EF_CP0_CAUSE		37
+
+#define EF_SIZE			304	/* size in bytes */
+
+#endif /* _ASM_REG_H */
+
+#endif /* _MIPS_SIM != _ABIO32 */
+
+#if _MIPS_SIM == _ABIO32
 
 struct user
 {
-  struct user_regs_struct	regs;
-  int				u_fpvalid;
-  struct user_fpregs_struct	i387;
-  __extension__ unsigned long long int	u_tsize;
-  __extension__ unsigned long long int	u_dsize;
-  __extension__ unsigned long long int	u_ssize;
-  __extension__ unsigned long long int	start_code;
-  __extension__ unsigned long long int	start_stack;
-  __extension__ long long int		signal;
-  int				reserved;
-  __extension__ union
-    {
-      struct user_regs_struct*	u_ar0;
-      __extension__ unsigned long long int	__u_ar0_word;
-    };
-  __extension__ union
-    {
-      struct user_fpregs_struct*	u_fpstate;
-      __extension__ unsigned long long int	__u_fpstate_word;
-    };
-  __extension__ unsigned long long int	magic;
-  char				u_comm [32];
-  __extension__ unsigned long long int	u_debugreg [8];
+  unsigned long	regs[EF_SIZE/4+64];	/* integer and fp regs */
+  size_t	u_tsize;		/* text size (pages) */
+  size_t	u_dsize;		/* data size (pages) */
+  size_t	u_ssize;		/* stack size (pages) */
+  unsigned long	start_code;		/* text starting address */
+  unsigned long	start_data;		/* data starting address */
+  unsigned long	start_stack;		/* stack starting address */
+  long int	signal;			/* signal causing core dump */
+  void*		u_ar0;			/* help gdb find registers */
+  unsigned long	magic;			/* identifies a core file */
+  char		u_comm[32];		/* user command name */
 };
 
 #else
-/* These are the 32-bit x86 structures.  */
-struct user_fpregs_struct
-{
-  long int cwd;
-  long int swd;
-  long int twd;
-  long int fip;
-  long int fcs;
-  long int foo;
-  long int fos;
-  long int st_space [20];
-};
 
-struct user_fpxregs_struct
-{
-  unsigned short int cwd;
-  unsigned short int swd;
-  unsigned short int twd;
-  unsigned short int fop;
-  long int fip;
-  long int fcs;
-  long int foo;
-  long int fos;
-  long int mxcsr;
-  long int reserved;
-  long int st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
-  long int xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
-  long int padding[56];
+struct user {
+  __extension__ unsigned long	regs[EF_SIZE/8+64]; /* integer and fp regs */
+  __extension__ unsigned long	u_tsize;	/* text size (pages) */
+  __extension__ unsigned long	u_dsize;	/* data size (pages) */
+  __extension__ unsigned long	u_ssize;	/* stack size (pages) */
+  __extension__ unsigned long long start_code;	/* text starting address */
+  __extension__ unsigned long long start_data;	/* data starting address */
+  __extension__ unsigned long long start_stack;	/* stack starting address */
+  __extension__ long long	signal;		/* signal causing core dump */
+  __extension__ unsigned long long u_ar0;	/* help gdb find registers */
+  __extension__ unsigned long long magic;	/* identifies a core file */
+  char		u_comm[32];		/* user command name */
 };
 
-struct user_regs_struct
-{
-  long int ebx;
-  long int ecx;
-  long int edx;
-  long int esi;
-  long int edi;
-  long int ebp;
-  long int eax;
-  long int xds;
-  long int xes;
-  long int xfs;
-  long int xgs;
-  long int orig_eax;
-  long int eip;
-  long int xcs;
-  long int eflags;
-  long int esp;
-  long int xss;
-};
-
-struct user
-{
-  struct user_regs_struct	regs;
-  int				u_fpvalid;
-  struct user_fpregs_struct	i387;
-  unsigned long int		u_tsize;
-  unsigned long int		u_dsize;
-  unsigned long int		u_ssize;
-  unsigned long int		start_code;
-  unsigned long int		start_stack;
-  long int			signal;
-  int				reserved;
-  struct user_regs_struct*	u_ar0;
-  struct user_fpregs_struct*	u_fpstate;
-  unsigned long int		magic;
-  char				u_comm [32];
-  int				u_debugreg [8];
-};
-#endif  /* __x86_64__ */
-
-#define PAGE_SHIFT		12
-#define PAGE_SIZE		(1UL << PAGE_SHIFT)
-#define PAGE_MASK		(~(PAGE_SIZE-1))
-#define NBPG			PAGE_SIZE
-#define UPAGES			1
-#define HOST_TEXT_START_ADDR	(u.start_code)
-#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
+#endif
 
 #endif	/* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/generic-glibc/argp.h
@@ -554,8 +554,7 @@ __NTH (__option_is_end (const struct argp_option *__opt))
 # endif
 #endif /* Use extern inlines.  */
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/argp-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/complex.h
@@ -95,15 +95,11 @@ __BEGIN_DECLS
 
 #define __MATHCALL(function, args)	\
   __MATHDECL (_Mdouble_complex_,function, args)
-#define __MATHDECL_IMPL(type, function, args) \
+#define __MATHDECL(type, function, args) \
   __MATHDECL_1(type, function, args); \
   __MATHDECL_1(type, __CONCAT(__,function), args)
-#define __MATHDECL(type, function, args) \
-  __MATHDECL_IMPL(type, function, args)
-#define __MATHDECL_1_IMPL(type, function, args) \
-  extern type __MATH_PRECNAME(function) args __THROW
 #define __MATHDECL_1(type, function, args) \
-  __MATHDECL_1_IMPL(type, function, args)
+  extern type __MATH_PRECNAME(function) args __THROW
 
 #define _Mdouble_ 		double
 #define __MATH_PRECNAME(name)	name
@@ -126,31 +122,11 @@ __BEGIN_DECLS
 #  undef __MATHDECL_1
 #  define __MATHDECL_1(type, function, args) \
   extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
-# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#  undef __MATHDECL_1
-#  undef __MATHDECL
-#  define __REDIR_TO(function) \
-  __ ## function ## ieee128
-#  define __MATHDECL_1(type, function, alias, args) \
-  extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, alias)
-#define __MATHDECL(type, function, args) \
-  __MATHDECL_1(type, function, __REDIR_TO(function), args); \
-  __MATHDECL_1(type, __CONCAT(__,function), __REDIR_TO(function), args)
 # endif
 
 # define _Mdouble_ 		long double
 # define __MATH_PRECNAME(name)	name##l
 # include <bits/cmathcalls.h>
-# if defined __LDBL_COMPAT \
-     || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#  undef __REDIR_TO
-#  undef __MATHDECL_1
-#  undef __MATHDECL
-#define __MATHDECL(type, function, args) \
-  __MATHDECL_IMPL(type, function, args)
-#  define __MATHDECL_1(type, function, args) \
-  __MATHDECL_1_IMPL(type, function, args)
-# endif
 #endif
 #undef	_Mdouble_
 #undef	__MATH_PRECNAME
@@ -239,7 +215,6 @@ __BEGIN_DECLS
 # undef _Mdouble_complex_
 #endif
 
-#undef	__MATHDECL_1_IMPL
 #undef	__MATHDECL_1
 #undef	__MATHDECL
 #undef	__MATHCALL
lib/libc/include/generic-glibc/elf.h
@@ -330,7 +330,7 @@ typedef struct
 #define EM_CLOUDSHIELD	192	/* CloudShield */
 #define EM_COREA_1ST	193	/* KIPO-KAIST Core-A 1st gen. */
 #define EM_COREA_2ND	194	/* KIPO-KAIST Core-A 2nd gen. */
-#define EM_ARCV2	195	/* Synopsys ARCv2 ISA.  */
+#define EM_ARC_COMPACT2	195	/* Synopsys ARCompact V2 */
 #define EM_OPEN8	196	/* Open8 RISC */
 #define EM_RL78		197	/* Renesas RL78 */
 #define EM_VIDEOCORE5	198	/* Broadcom VideoCore V */
@@ -721,7 +721,6 @@ typedef struct
 #define PT_GNU_EH_FRAME	0x6474e550	/* GCC .eh_frame_hdr segment */
 #define PT_GNU_STACK	0x6474e551	/* Indicates stack executability */
 #define PT_GNU_RELRO	0x6474e552	/* Read-only after relocation */
-#define PT_GNU_PROPERTY	0x6474e553	/* GNU property */
 #define PT_LOSUNW	0x6ffffffa
 #define PT_SUNWBSS	0x6ffffffa	/* Sun Specific segment */
 #define PT_SUNWSTACK	0x6ffffffb	/* Stack segment */
@@ -1319,12 +1318,6 @@ typedef struct
 /* Application-specific semantics, hi */
 #define GNU_PROPERTY_HIUSER			0xffffffff
 
-/* AArch64 specific GNU properties.  */
-#define GNU_PROPERTY_AARCH64_FEATURE_1_AND	0xc0000000
-
-#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI	(1U << 0)
-#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC	(1U << 1)
-
 /* The x86 instruction sets indicated by the corresponding bits are
    used in program.  Their support in the hardware is optional.  */
 #define GNU_PROPERTY_X86_ISA_1_USED		0xc0000000
@@ -3953,9 +3946,8 @@ enum
 #define R_RISCV_SET16		55
 #define R_RISCV_SET32		56
 #define R_RISCV_32_PCREL	57
-#define R_RISCV_IRELATIVE	58
 
-#define R_RISCV_NUM		59
+#define R_RISCV_NUM		58
 
 /* BPF specific declarations.  */
 
@@ -4035,74 +4027,6 @@ enum
 #define R_NDS32_TLS_TPOFF	102
 #define R_NDS32_TLS_DESC	119
 
-/* ARCompact/ARCv2 specific relocs.  */
-#define R_ARC_NONE		0x0
-#define R_ARC_8			0x1
-#define R_ARC_16		0x2
-#define R_ARC_24		0x3
-#define R_ARC_32		0x4
-#define R_ARC_B26		0x5
-#define R_ARC_B22_PCREL		0x6
-#define R_ARC_H30		0x7
-#define R_ARC_N8		0x8
-#define R_ARC_N16		0x9
-#define R_ARC_N24		0xA
-#define R_ARC_N32		0xB
-#define R_ARC_SDA		0xC
-#define R_ARC_SECTOFF		0xD
-#define R_ARC_S21H_PCREL	0xE
-#define R_ARC_S21W_PCREL	0xF
-#define R_ARC_S25H_PCREL	0x10
-#define R_ARC_S25W_PCREL	0x11
-#define R_ARC_SDA32		0x12
-#define R_ARC_SDA_LDST		0x13
-#define R_ARC_SDA_LDST1		0x14
-#define R_ARC_SDA_LDST2		0x15
-#define R_ARC_SDA16_LD		0x16
-#define R_ARC_SDA16_LD1		0x17
-#define R_ARC_SDA16_LD2		0x18
-#define R_ARC_S13_PCREL		0x19
-#define R_ARC_W			0x1A
-#define R_ARC_32_ME		0x1B
-#define R_ARC_N32_ME		0x1C
-#define R_ARC_SECTOFF_ME	0x1D
-#define R_ARC_SDA32_ME		0x1E
-#define R_ARC_W_ME		0x1F
-#define R_ARC_H30_ME		0x20
-#define R_ARC_SECTOFF_U8	0x21
-#define R_ARC_SECTOFF_S9	0x22
-#define R_AC_SECTOFF_U8		0x23
-#define R_AC_SECTOFF_U8_1	0x24
-#define R_AC_SECTOFF_U8_2	0x25
-#define R_AC_SECTOFF_S9		0x26
-#define R_AC_SECTOFF_S9_1	0x27
-#define R_AC_SECTOFF_S9_2	0x28
-#define R_ARC_SECTOFF_ME_1	0x29
-#define R_ARC_SECTOFF_ME_2	0x2A
-#define R_ARC_SECTOFF_1		0x2B
-#define R_ARC_SECTOFF_2		0x2C
-#define R_ARC_PC32		0x32
-#define R_ARC_GOTPC32		0x33
-#define R_ARC_PLT32		0x34
-#define R_ARC_COPY		0x35
-#define R_ARC_GLOB_DAT		0x36
-#define R_ARC_JUMP_SLOT		0x37
-#define R_ARC_RELATIVE		0x38
-#define R_ARC_GOTOFF		0x39
-#define R_ARC_GOTPC		0x3A
-#define R_ARC_GOT32		0x3B
-
-#define R_ARC_TLS_DTPMOD	0x42
-#define R_ARC_TLS_DTPOFF	0x43
-#define R_ARC_TLS_TPOFF		0x44
-#define R_ARC_TLS_GD_GOT	0x45
-#define R_ARC_TLS_GD_LD	        0x46
-#define R_ARC_TLS_GD_CALL	0x47
-#define R_ARC_TLS_IE_GOT	0x48
-#define R_ARC_TLS_DTPOFF_S9	0x4a
-#define R_ARC_TLS_LE_S9		0x4a
-#define R_ARC_TLS_LE_32		0x4b
-
 __END_DECLS
 
 #endif	/* elf.h */
\ No newline at end of file
lib/libc/include/generic-glibc/err.h
@@ -52,8 +52,7 @@ extern void errx (int __status, const char *__format, ...)
 extern void verrx (int __status, const char *, __gnuc_va_list)
      __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/err-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/error.h
@@ -47,13 +47,11 @@ extern unsigned int error_message_count;
    variable controls whether this mode is selected or not.  */
 extern int error_one_per_line;
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/error-ldbl.h>
 #else
 /* Do not inline error and error_at_line when long double has the same
-   size of double, nor when long double reuses the float128
-   implementation, because that would invalidate the redirections to the
+   size of double, because that would invalidate the redirections to the
    compatibility functions.  */
 # if defined __extern_always_inline && defined __va_arg_pack
 #  include <bits/error.h>
lib/libc/include/generic-glibc/features.h
@@ -454,7 +454,7 @@
 /* Major and minor version number of the GNU C library package.  Use
    these macros to test for features in specific releases.  */
 #define	__GLIBC__	2
-#define	__GLIBC_MINOR__	32
+#define	__GLIBC_MINOR__	31
 
 #define __GLIBC_PREREQ(maj, min) \
 	((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
lib/libc/include/generic-glibc/fenv.h
@@ -140,6 +140,10 @@ extern int fegetmode (femode_t *__modep) __THROW;
 extern int fesetmode (const femode_t *__modep) __THROW;
 #endif
 
+/* Include optimization.  */
+#ifdef __OPTIMIZE__
+# include <bits/fenvinline.h>
+#endif
 
 /* NaN support.  */
 
lib/libc/include/generic-glibc/fpu_control.h
@@ -1,7 +1,6 @@
-/* FPU control word bits.  x86 version.
-   Copyright (C) 1993-2020 Free Software Foundation, Inc.
+/* FPU control word bits.  Mips version.
+   Copyright (C) 1996-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Olaf Flebbe.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -14,96 +13,120 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _FPU_CONTROL_H
-#define _FPU_CONTROL_H	1
+#define _FPU_CONTROL_H
 
-/* Note that this file sets on x86-64 only the x87 FPU, it does not
-   touch the SSE unit.  */
-
-/* Here is the dirty part. Set up your 387 through the control word
- * (cw) register.
- *
- *     15-13    12  11-10  9-8     7-6     5    4    3    2    1    0
- * | reserved | IC | RC  | PC | reserved | PM | UM | OM | ZM | DM | IM
- *
- * IM: Invalid operation mask
- * DM: Denormalized operand mask
- * ZM: Zero-divide mask
- * OM: Overflow mask
- * UM: Underflow mask
- * PM: Precision (inexact result) mask
- *
- * Mask bit is 1 means no interrupt.
+/* MIPS FPU floating point control register bits.
  *
- * PC: Precision control
- * 11 - round to extended precision
- * 10 - round to double precision
- * 00 - round to single precision
+ * 31-25  -> floating point conditions code bits 7-1.  These bits are only
+ *           available in MIPS IV.
+ * 24     -> flush denormalized results to zero instead of
+ *           causing unimplemented operation exception.  This bit is only
+ *           available for MIPS III and newer.
+ * 23     -> Condition bit
+ * 22-21  -> reserved for architecture implementers
+ * 20     -> reserved (read as 0, write with 0)
+ * 19     -> IEEE 754-2008 non-arithmetic ABS.fmt and NEG.fmt enable
+ * 18     -> IEEE 754-2008 recommended NaN encoding enable
+ * 17     -> cause bit for unimplemented operation
+ * 16     -> cause bit for invalid exception
+ * 15     -> cause bit for division by zero exception
+ * 14     -> cause bit for overflow exception
+ * 13     -> cause bit for underflow exception
+ * 12     -> cause bit for inexact exception
+ * 11     -> enable exception for invalid exception
+ * 10     -> enable exception for division by zero exception
+ *  9     -> enable exception for overflow exception
+ *  8     -> enable exception for underflow exception
+ *  7     -> enable exception for inexact exception
+ *  6     -> flag invalid exception
+ *  5     -> flag division by zero exception
+ *  4     -> flag overflow exception
+ *  3     -> flag underflow exception
+ *  2     -> flag inexact exception
+ *  1-0   -> rounding control
  *
- * RC: Rounding control
- * 00 - rounding to nearest
- * 01 - rounding down (toward - infinity)
- * 10 - rounding up (toward + infinity)
- * 11 - rounding toward zero
  *
- * IC: Infinity control
- * That is for 8087 and 80287 only.
- *
- * The hardware default is 0x037f which we use.
+ * Rounding Control:
+ * 00 - rounding to nearest (RN)
+ * 01 - rounding toward zero (RZ)
+ * 10 - rounding (up) toward plus infinity (RP)
+ * 11 - rounding (down)toward minus infinity (RM)
  */
 
 #include <features.h>
 
-/* masking of interrupts */
-#define _FPU_MASK_IM  0x01
-#define _FPU_MASK_DM  0x02
-#define _FPU_MASK_ZM  0x04
-#define _FPU_MASK_OM  0x08
-#define _FPU_MASK_UM  0x10
-#define _FPU_MASK_PM  0x20
+#ifdef __mips_soft_float
 
-/* precision control */
-#define _FPU_EXTENDED 0x300	/* libm requires double extended precision.  */
-#define _FPU_DOUBLE   0x200
-#define _FPU_SINGLE   0x0
+#define _FPU_RESERVED 0xffffffff
+#define _FPU_DEFAULT  0x00000000
+typedef unsigned int fpu_control_t;
+#define _FPU_GETCW(cw) (cw) = 0
+#define _FPU_SETCW(cw) (void) (cw)
+extern fpu_control_t __fpu_control;
 
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0    /* RECOMMENDED */
-#define _FPU_RC_DOWN    0x400
-#define _FPU_RC_UP      0x800
-#define _FPU_RC_ZERO    0xC00
+#else /* __mips_soft_float */
 
-#define _FPU_RESERVED 0xF0C0  /* Reserved bits in cw */
+/* Masks for interrupts.  */
+#define _FPU_MASK_V     0x0800  /* Invalid operation */
+#define _FPU_MASK_Z     0x0400  /* Division by zero  */
+#define _FPU_MASK_O     0x0200  /* Overflow          */
+#define _FPU_MASK_U     0x0100  /* Underflow         */
+#define _FPU_MASK_I     0x0080  /* Inexact operation */
 
+/* Flush denormalized numbers to zero.  */
+#define _FPU_FLUSH_TZ   0x1000000
 
-/* The fdlibm code requires strict IEEE double precision arithmetic,
-   and no interrupts for exceptions, rounding to nearest.  */
+/* IEEE 754-2008 compliance control.  */
+#define _FPU_ABS2008    0x80000
+#define _FPU_NAN2008    0x40000
 
-#define _FPU_DEFAULT  0x037f
+/* Rounding control.  */
+#define _FPU_RC_NEAREST 0x0     /* RECOMMENDED */
+#define _FPU_RC_ZERO    0x1
+#define _FPU_RC_UP      0x2
+#define _FPU_RC_DOWN    0x3
+/* Mask for rounding control.  */
+#define _FPU_RC_MASK	0x3
 
-/* IEEE:  same as above.  */
-#define _FPU_IEEE     0x037f
+#define _FPU_RESERVED 0xfe8c0000  /* Reserved bits in cw, incl ABS/NAN2008.  */
 
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));
 
-/* Macros for accessing the hardware control word.  "*&" is used to
-   work around a bug in older versions of GCC.  __volatile__ is used
-   to support combination of writing the control register and reading
-   it back.  Without __volatile__, the old value may be used for reading
-   back under compiler optimization.
+/* The fdlibm code requires strict IEEE double precision arithmetic,
+   and no interrupts for exceptions, rounding to nearest.  */
+#ifdef __mips_nan2008
+# define _FPU_DEFAULT 0x000C0000
+#else
+# define _FPU_DEFAULT 0x00000000
+#endif
+
+/* IEEE: same as above, but exceptions.  */
+#ifdef __mips_nan2008
+# define _FPU_IEEE    0x000C0F80
+#else
+# define _FPU_IEEE    0x00000F80
+#endif
 
-   Note that the use of these macros is not sufficient anymore with
-   recent hardware nor on x86-64.  Some floating point operations are
-   executed in the SSE/SSE2 engines which have their own control and
-   status register.  */
-#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
-#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
+/* Type of the control word.  */
+typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
+
+/* Macros for accessing the hardware control word.  */
+extern fpu_control_t __mips_fpu_getcw (void) __THROW;
+extern void __mips_fpu_setcw (fpu_control_t) __THROW;
+#ifdef __mips16
+# define _FPU_GETCW(cw) do { (cw) = __mips_fpu_getcw (); } while (0)
+# define _FPU_SETCW(cw) __mips_fpu_setcw (cw)
+#else
+# define _FPU_GETCW(cw) __asm__ volatile ("cfc1 %0,$31" : "=r" (cw))
+# define _FPU_SETCW(cw) __asm__ volatile ("ctc1 %0,$31" : : "r" (cw))
+#endif
 
 /* Default control word set at startup.  */
 extern fpu_control_t __fpu_control;
 
+#endif /* __mips_soft_float */
+
 #endif	/* fpu_control.h */
\ No newline at end of file
lib/libc/include/generic-glibc/inttypes.h
@@ -321,10 +321,10 @@ extern long int __strtol_internal (const char *__restrict __nptr,
   __THROW __nonnull ((1)) __wur;
 /* Like `strtol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
-		  int __base))
+__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
+		  int base))
 {
-  return __strtol_internal (__nptr, __endptr, __base, 0);
+  return __strtol_internal (nptr, endptr, base, 0);
 }
 
 extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
@@ -333,10 +333,10 @@ extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
   __THROW __nonnull ((1)) __wur;
 /* Like `strtoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
-		  int __base))
+__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
+		  int base))
 {
-  return __strtoul_internal (__nptr, __endptr, __base, 0);
+  return __strtoul_internal (nptr, endptr, base, 0);
 }
 
 extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
@@ -345,10 +345,10 @@ extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
-		  __gwchar_t **__restrict __endptr, int __base))
+__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
+		  __gwchar_t **__restrict endptr, int base))
 {
-  return __wcstol_internal (__nptr, __endptr, __base, 0);
+  return __wcstol_internal (nptr, endptr, base, 0);
 }
 
 extern unsigned long int __wcstoul_internal (const __gwchar_t *
@@ -359,10 +359,10 @@ extern unsigned long int __wcstoul_internal (const __gwchar_t *
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
-		  __gwchar_t **__restrict __endptr, int __base))
+__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
+		  __gwchar_t **__restrict endptr, int base))
 {
-  return __wcstoul_internal (__nptr, __endptr, __base, 0);
+  return __wcstoul_internal (nptr, endptr, base, 0);
 }
 
 # else /* __WORDSIZE == 32 */
@@ -374,10 +374,10 @@ extern long long int __strtoll_internal (const char *__restrict __nptr,
   __THROW __nonnull ((1)) __wur;
 /* Like `strtol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
-		  int __base))
+__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
+		  int base))
 {
-  return __strtoll_internal (__nptr, __endptr, __base, 0);
+  return __strtoll_internal (nptr, endptr, base, 0);
 }
 
 __extension__
@@ -390,10 +390,10 @@ extern unsigned long long int __strtoull_internal (const char *
   __THROW __nonnull ((1)) __wur;
 /* Like `strtoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
-		  int __base))
+__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
+		  int base))
 {
-  return __strtoull_internal (__nptr, __endptr, __base, 0);
+  return __strtoull_internal (nptr, endptr, base, 0);
 }
 
 __extension__
@@ -403,10 +403,10 @@ extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr,
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
-		  __gwchar_t **__restrict __endptr, int __base))
+__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
+		  __gwchar_t **__restrict endptr, int base))
 {
-  return __wcstoll_internal (__nptr, __endptr, __base, 0);
+  return __wcstoll_internal (nptr, endptr, base, 0);
 }
 
 
@@ -420,10 +420,10 @@ extern unsigned long long int __wcstoull_internal (const __gwchar_t *
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
-		  __gwchar_t **__restrict __endptr, int __base))
+__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
+		  __gwchar_t **__restrict endptr, int base))
 {
-  return __wcstoull_internal (__nptr, __endptr, __base, 0);
+  return __wcstoull_internal (nptr, endptr, base, 0);
 }
 
 # endif	/* __WORDSIZE == 32	*/
lib/libc/include/generic-glibc/malloc.h
@@ -75,11 +75,11 @@ extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur;
 
 /* Underlying allocation function; successive calls should return
    contiguous pieces of memory.  */
-extern void *(*__morecore) (ptrdiff_t __size) __MALLOC_DEPRECATED;
+extern void *(*__morecore) (ptrdiff_t __size);
 
 /* Default value of `__morecore'.  */
 extern void *__default_morecore (ptrdiff_t __size)
-__THROW __attribute_malloc__  __MALLOC_DEPRECATED;
+__THROW __attribute_malloc__;
 
 /* SVID2/XPG mallinfo structure */
 
@@ -156,8 +156,7 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,
                                                        size_t __size,
                                                        const void *)
 __MALLOC_DEPRECATED;
-extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void)
-  __MALLOC_DEPRECATED;
+extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
 
 
 __END_DECLS
lib/libc/include/generic-glibc/math.h
@@ -279,17 +279,8 @@ enum
 #define __MATHDECLX(type, function,suffix, args, attrib) \
   __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
   __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
-#define __MATHDECL_1_IMPL(type, function, suffix, args) \
+#define __MATHDECL_1(type, function,suffix, args) \
   extern type __MATH_PRECNAME(function,suffix) args __THROW
-#define __MATHDECL_1(type, function, suffix, args) \
-  __MATHDECL_1_IMPL(type, function, suffix, args)
-/* Ignore the alias by default.  The alias is only useful with
-   redirections.  */
-#define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
-  __MATHDECL_1(type, function, suffix, args)
-
-#define __MATHREDIR(type, function, suffix, args, to) \
-  extern type __REDIRECT_NTH (__MATH_PRECNAME (function, suffix), args, to)
 
 #define _Mdouble_		double
 #define __MATH_PRECNAME(name,r)	__CONCAT(name,r)
@@ -340,37 +331,11 @@ extern long double __REDIRECT_NTH (nexttowardl,
 #   endif
 
 #   undef __MATHDECL_1
+#   define __MATHDECL_2(type, function,suffix, args, alias) \
+  extern type __REDIRECT_NTH(__MATH_PRECNAME(function,suffix), \
+			     args, alias)
 #   define __MATHDECL_1(type, function,suffix, args) \
-  __MATHREDIR(type, function, suffix, args, __CONCAT(function,suffix))
-
-#  elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#   ifdef __REDIRECT_NTH
-#    ifdef __USE_ISOC99
-extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y),
-			    __nexttowardf_to_ieee128)
-  __attribute__ ((__const__));
-extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
-			     __nexttoward_to_ieee128)
-  __attribute__ ((__const__));
-
-#define __dremieee128 __remainderieee128
-#define __gammaieee128 __lgammaieee128
-
-#    endif
-#   endif
-
-#   undef __MATHDECL_1
-#   undef __MATHDECL_ALIAS
-
-#   define __REDIRTO(function, suffix) \
-  __ ## function ## ieee128 ## suffix
-#   define __REDIRTO_ALT(function, suffix) \
-  __ ## function ## f128 ## suffix
-
-#   define __MATHDECL_1(type, function, suffix, args) \
-  __MATHREDIR (type, function, suffix, args, __REDIRTO (function, suffix))
-#   define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
-  __MATHREDIR (type, function, suffix, args, __REDIRTO_ALT (alias, suffix))
+  __MATHDECL_2(type, function,suffix, args, __CONCAT(function,suffix))
 #  endif
 
 /* Include the file of declarations again, this time using `long double'
@@ -383,23 +348,11 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 #  define __MATH_DECLARE_LDOUBLE   1
 #  include <bits/mathcalls-helper-functions.h>
 #  include <bits/mathcalls.h>
-
 #  undef _Mdouble_
 #  undef __MATH_PRECNAME
 #  undef __MATH_DECLARING_DOUBLE
 #  undef __MATH_DECLARING_FLOATN
 
-#  if defined __LDBL_COMPAT \
-      || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#   undef __REDIRTO
-#   undef __REDIRTO_ALT
-#   undef __MATHDECL_1
-#   undef __MATHDECL_ALIAS
-#   define __MATHDECL_1(type, function, suffix, args) \
-  __MATHDECL_1_IMPL(type, function, suffix, args)
-#   define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
-  __MATHDECL_1(type, function, suffix, args)
-#  endif
 # endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */
 
 #endif	/* Use ISO C99.  */
@@ -526,9 +479,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 # undef __MATH_DECLARING_FLOATN
 #endif /* __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC).  */
 
-#undef	__MATHDECL_1_IMPL
 #undef	__MATHDECL_1
-#undef	__MATHDECL_ALIAS
 #undef	__MATHDECL
 #undef	__MATHCALL
 
@@ -560,11 +511,6 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 # ifdef __LDBL_COMPAT
 #  define __MATHCALL_REDIR_NAME(name) f ## name
 #  undef __MATHCALL_NARROW
-#  define __MATHCALL_NARROW(func, redir, nargs) \
-  __MATHCALL_NARROW_REDIR (func, redir, nargs)
-# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#  define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128
-#  undef __MATHCALL_NARROW
 #  define __MATHCALL_NARROW(func, redir, nargs) \
   __MATHCALL_NARROW_REDIR (func, redir, nargs)
 # endif
@@ -572,8 +518,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 # undef _Mret_
 # undef _Marg_
 # undef __MATHCALL_NAME
-# if defined __LDBL_COMPAT \
-     || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# ifdef __LDBL_COMPAT
 #  undef __MATHCALL_REDIR_NAME
 #  undef __MATHCALL_NARROW
 #  define __MATHCALL_NARROW(func, redir, nargs) \
@@ -586,11 +531,6 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 # ifdef __LDBL_COMPAT
 #  define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l
 #  undef __MATHCALL_NARROW
-#  define __MATHCALL_NARROW(func, redir, nargs) \
-  __MATHCALL_NARROW_REDIR (func, redir, nargs)
-# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-#  define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128
-#  undef __MATHCALL_NARROW
 #  define __MATHCALL_NARROW(func, redir, nargs) \
   __MATHCALL_NARROW_REDIR (func, redir, nargs)
 # endif
@@ -598,8 +538,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
 # undef _Mret_
 # undef _Marg_
 # undef __MATHCALL_NAME
-# if defined __LDBL_COMPAT \
-     || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# ifdef __LDBL_COMPAT
 #  undef __MATHCALL_REDIR_NAME
 #  undef __MATHCALL_NARROW
 #  define __MATHCALL_NARROW(func, redir, nargs) \
@@ -1257,6 +1196,13 @@ iszero (__T __val)
 # error "M_* values needed for _Float128x"
 #endif
 
+/* When compiling in strict ISO C compatible mode we must not use the
+   inline functions since they, among other things, do not set the
+   `errno' variable correctly.  */
+#if defined __STRICT_ANSI__ && !defined __NO_MATH_INLINES
+# define __NO_MATH_INLINES	1
+#endif
+
 #ifdef __USE_ISOC99
 # if __GNUC_PREREQ (3, 1)
 /* ISO C99 defines some macros to compare number while taking care for
@@ -1294,6 +1240,12 @@ iszero (__T __val)
 # endif
 #endif
 
+/* Get machine-dependent inline versions (if there are any).  */
+#ifdef __USE_EXTERN_INLINES
+# include <bits/mathinline.h>
+#endif
+
+
 #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* An expression whose type has the widest of the evaluation formats
    of X and Y (which are of floating-point types).  */
lib/libc/include/generic-glibc/monetary.h
@@ -50,8 +50,7 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
      __THROW __attribute_format_strfmon__ (4, 5);
 #endif
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/monetary-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/nss.h
@@ -19,12 +19,10 @@
    and for implementors of new services.  */
 
 #ifndef _NSS_H
-#define _NSS_H  1
+#define _NSS_H	1
 
 #include <features.h>
-#include <stddef.h>
 #include <stdint.h>
-#include <sys/types.h>
 
 
 __BEGIN_DECLS
@@ -58,204 +56,7 @@ struct gaih_addrtuple
    Attention: Using this function repeatedly will slowly eat up the
    whole memory since previous selection data cannot be freed.  */
 extern int __nss_configure_lookup (const char *__dbname,
-                                   const char *__string) __THROW;
-
-/* NSS-related types.  */
-struct __netgrent;
-struct aliasent;
-struct ether_addr;
-struct etherent;
-struct group;
-struct hostent;
-struct netent;
-struct passwd;
-struct protoent;
-struct rpcent;
-struct servent;
-struct sgrp;
-struct spwd;
-struct traced_file;
-
-/* Types of functions exported from NSS service modules.  */
-typedef enum nss_status nss_endaliasent (void);
-typedef enum nss_status nss_endetherent (void);
-typedef enum nss_status nss_endgrent (void);
-typedef enum nss_status nss_endhostent (void);
-typedef enum nss_status nss_endnetent (void);
-typedef enum nss_status nss_endnetgrent (struct __netgrent *);
-typedef enum nss_status nss_endprotoent (void);
-typedef enum nss_status nss_endpwent (void);
-typedef enum nss_status nss_endrpcent (void);
-typedef enum nss_status nss_endservent (void);
-typedef enum nss_status nss_endsgent (void);
-typedef enum nss_status nss_endspent (void);
-typedef enum nss_status nss_getaliasbyname_r (const char *, struct aliasent *,
-                                              char *, size_t, int *);
-typedef enum nss_status nss_getaliasent_r (struct aliasent *,
-                                           char *, size_t, int *);
-typedef enum nss_status nss_getcanonname_r (const char *, char *, size_t,
-                                            char **, int *, int *);
-typedef enum nss_status nss_getetherent_r (struct etherent *,
-                                           char *, size_t, int *);
-typedef enum nss_status nss_getgrent_r (struct group *, char *, size_t, int *);
-typedef enum nss_status nss_getgrgid_r (__gid_t, struct group *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_getgrnam_r (const char *, struct group *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_gethostbyaddr2_r (const void *, __socklen_t, int,
-                                              struct hostent *, char *, size_t,
-                                              int *, int *, int32_t *);
-typedef enum nss_status nss_gethostbyaddr_r (const void *, __socklen_t, int,
-                                             struct hostent *, char *, size_t,
-                                             int *, int *);
-typedef enum nss_status nss_gethostbyname2_r (const char *, int,
-                                              struct hostent *, char *, size_t,
-                                              int *, int *);
-typedef enum nss_status nss_gethostbyname3_r (const char *, int,
-                                              struct hostent *, char *, size_t,
-                                              int *, int *, int32_t *,
-                                              char **);
-typedef enum nss_status nss_gethostbyname4_r (const char *,
-                                              struct gaih_addrtuple **,
-                                              char *, size_t,
-                                              int *, int *, int32_t *);
-typedef enum nss_status nss_gethostbyname_r (const char *, struct hostent *,
-                                             char *, size_t, int *, int *);
-typedef enum nss_status nss_gethostent_r (struct hostent *, char *, size_t,
-                                          int *, int *);
-typedef enum nss_status nss_gethostton_r (const char *, struct etherent *,
-                                          char *, size_t, int *);
-typedef enum nss_status nss_getnetbyaddr_r (uint32_t, int, struct netent *,
-                                            char *, size_t, int *, int *);
-typedef enum nss_status nss_getnetbyname_r (const char *, struct netent *,
-                                            char *, size_t, int *, int *);
-typedef enum nss_status nss_getnetent_r (struct netent *,
-                                         char *, size_t, int *, int *);
-typedef enum nss_status nss_getnetgrent_r (struct __netgrent *,
-                                           char *, size_t, int *);
-typedef enum nss_status nss_getntohost_r (const struct ether_addr *,
-                                          struct etherent *, char *, size_t,
-                                          int *);
-typedef enum nss_status nss_getprotobyname_r (const char *, struct protoent *,
-                                              char *, size_t, int *);
-typedef enum nss_status nss_getprotobynumber_r (int, struct protoent *,
-                                                char *, size_t, int *);
-typedef enum nss_status nss_getprotoent_r (struct protoent *,
-                                           char *, size_t, int *);
-typedef enum nss_status nss_getpublickey (const char *, char *, int *);
-typedef enum nss_status nss_getpwent_r (struct passwd *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_getpwnam_r (const char *, struct passwd *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_getpwuid_r (__uid_t, struct passwd *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_getrpcbyname_r (const char *, struct rpcent *,
-                                            char *, size_t, int *);
-typedef enum nss_status nss_getrpcbynumber_r (int, struct rpcent *,
-                                              char *, size_t, int *);
-typedef enum nss_status nss_getrpcent_r (struct rpcent *,
-                                         char *, size_t, int *);
-typedef enum nss_status nss_getsecretkey (const char *, char *, char *, int *);
-typedef enum nss_status nss_getservbyname_r (const char *, const char *,
-                                             struct servent *, char *, size_t,
-                                             int *);
-typedef enum nss_status nss_getservbyport_r (int, const char *,
-                                             struct servent *, char *, size_t,
-                                             int *);
-typedef enum nss_status nss_getservent_r (struct servent *, char *, size_t,
-                                          int *);
-typedef enum nss_status nss_getsgent_r (struct sgrp *, char *, size_t, int *);
-typedef enum nss_status nss_getsgnam_r (const char *, struct sgrp *,
-                                        char *, size_t, int *);
-typedef enum nss_status nss_getspent_r (struct spwd *, char *, size_t, int *);
-typedef enum nss_status nss_getspnam_r (const char *, struct spwd *,
-                                        char *, size_t, int *);
-typedef void nss_init (void (*) (size_t, struct traced_file *));
-typedef enum nss_status nss_initgroups_dyn (const char *, __gid_t, long int *,
-                                            long int *, __gid_t **, long int,
-                                            int *);
-typedef enum nss_status nss_netname2user (char [], __uid_t *, __gid_t *,
-                                          int *, __gid_t *, int *);
-typedef enum nss_status nss_setaliasent (void);
-typedef enum nss_status nss_setetherent (int);
-typedef enum nss_status nss_setgrent (int);
-typedef enum nss_status nss_sethostent (int);
-typedef enum nss_status nss_setnetent (int);
-typedef enum nss_status nss_setnetgrent (const char *, struct __netgrent *);
-typedef enum nss_status nss_setprotoent (int);
-typedef enum nss_status nss_setpwent (int);
-typedef enum nss_status nss_setrpcent (int);
-typedef enum nss_status nss_setservent (int);
-typedef enum nss_status nss_setsgent (int);
-typedef enum nss_status nss_setspent (int);
-
-/* Declare all NSS functions for MODULE.  */
-#define NSS_DECLARE_MODULE_FUNCTIONS(module)                            \
-  extern nss_endaliasent _nss_##module##_endaliasent;                    \
-  extern nss_endetherent _nss_##module##_endetherent;                    \
-  extern nss_endgrent _nss_##module##_endgrent;                          \
-  extern nss_endhostent _nss_##module##_endhostent;                      \
-  extern nss_endnetent _nss_##module##_endnetent;                        \
-  extern nss_endnetgrent _nss_##module##__endnetgrent;                   \
-  extern nss_endprotoent _nss_##module##_endprotoent;                    \
-  extern nss_endpwent _nss_##module##_endpwent;                          \
-  extern nss_endrpcent _nss_##module##_endrpcent;                        \
-  extern nss_endservent _nss_##module##_endservent;                      \
-  extern nss_endsgent _nss_##module##_endsgent;                          \
-  extern nss_endspent _nss_##module##_endspent;                          \
-  extern nss_getaliasbyname_r _nss_##module##_getaliasbyname_r;          \
-  extern nss_getaliasent_r _nss_##module##_getaliasent_r;                \
-  extern nss_getcanonname_r _nss_##module##_getcanonname_r;              \
-  extern nss_getetherent_r _nss_##module##_getetherent_r;                \
-  extern nss_getgrent_r _nss_##module##_getgrent_r;                      \
-  extern nss_getgrgid_r _nss_##module##_getgrgid_r;                      \
-  extern nss_getgrnam_r _nss_##module##_getgrnam_r;                      \
-  extern nss_gethostbyaddr2_r _nss_##module##_gethostbyaddr2_r;          \
-  extern nss_gethostbyaddr_r _nss_##module##_gethostbyaddr_r;            \
-  extern nss_gethostbyname2_r _nss_##module##_gethostbyname2_r;          \
-  extern nss_gethostbyname3_r _nss_##module##_gethostbyname3_r;          \
-  extern nss_gethostbyname4_r _nss_##module##_gethostbyname4_r;          \
-  extern nss_gethostbyname_r _nss_##module##_gethostbyname_r;            \
-  extern nss_gethostent_r _nss_##module##_gethostent_r;                  \
-  extern nss_gethostton_r _nss_##module##_gethostton_r;                  \
-  extern nss_getnetbyaddr_r _nss_##module##_getnetbyaddr_r;              \
-  extern nss_getnetbyname_r _nss_##module##_getnetbyname_r;              \
-  extern nss_getnetent_r _nss_##module##_getnetent_r;                    \
-  extern nss_getnetgrent_r _nss_##module##_getnetgrent_r;                \
-  extern nss_getntohost_r _nss_##module##_getntohost_r;                  \
-  extern nss_getprotobyname_r _nss_##module##_getprotobyname_r;          \
-  extern nss_getprotobynumber_r _nss_##module##_getprotobynumber_r;      \
-  extern nss_getprotoent_r _nss_##module##_getprotoent_r;                \
-  extern nss_getpublickey _nss_##module##_getpublickey;                  \
-  extern nss_getpwent_r _nss_##module##_getpwent_r;                      \
-  extern nss_getpwnam_r _nss_##module##_getpwnam_r;                      \
-  extern nss_getpwuid_r _nss_##module##_getpwuid_r;                      \
-  extern nss_getrpcbyname_r _nss_##module##_getrpcbyname_r;              \
-  extern nss_getrpcbynumber_r _nss_##module##_getrpcbynumber_r;          \
-  extern nss_getrpcent_r _nss_##module##_getrpcent_r;                    \
-  extern nss_getsecretkey _nss_##module##_getsecretkey;                  \
-  extern nss_getservbyname_r _nss_##module##_getservbyname_r;            \
-  extern nss_getservbyport_r _nss_##module##_getservbyport_r;            \
-  extern nss_getservent_r _nss_##module##_getservent_r;                  \
-  extern nss_getsgent_r _nss_##module##_getsgent_r;                      \
-  extern nss_getsgnam_r _nss_##module##_getsgnam_r;                      \
-  extern nss_getspent_r _nss_##module##_getspent_r;                      \
-  extern nss_getspnam_r _nss_##module##_getspnam_r;                      \
-  extern nss_init _nss_##module##_init;                                  \
-  extern nss_initgroups_dyn _nss_##module##_initgroups_dyn;              \
-  extern nss_netname2user _nss_##module##_netname2user;                  \
-  extern nss_setaliasent _nss_##module##_setaliasent;                    \
-  extern nss_setetherent _nss_##module##_setetherent;                    \
-  extern nss_setgrent _nss_##module##_setgrent;                          \
-  extern nss_sethostent _nss_##module##_sethostent;                      \
-  extern nss_setnetent _nss_##module##_setnetent;                        \
-  extern nss_setnetgrent _nss_##module##_setnetgrent;                    \
-  extern nss_setprotoent _nss_##module##_setprotoent;                    \
-  extern nss_setpwent _nss_##module##_setpwent;                          \
-  extern nss_setrpcent _nss_##module##_setrpcent;                        \
-  extern nss_setservent _nss_##module##_setservent;                      \
-  extern nss_setsgent _nss_##module##_setsgent;                          \
-  extern nss_setspent _nss_##module##_setspent;                          \
+				   const char *__string) __THROW;
 
 __END_DECLS
 
lib/libc/include/generic-glibc/printf.h
@@ -182,8 +182,7 @@ extern int printf_size_info (const struct printf_info *__restrict
 			     __info, size_t __n, int *__restrict __argtypes)
      __THROW;
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/printf-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/pthread.h
@@ -27,7 +27,6 @@
 #include <bits/setjmp.h>
 #include <bits/wordsize.h>
 #include <bits/types/struct_timespec.h>
-#include <bits/types/__sigset_t.h>
 
 
 /* Detach state.  */
@@ -386,20 +385,6 @@ extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
 extern int pthread_getattr_default_np (pthread_attr_t *__attr)
      __THROW __nonnull ((1));
 
-/* Store *SIGMASK as the signal mask for the new thread in *ATTR.  */
-extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
-				       const __sigset_t *sigmask);
-
-/* Store the signal mask of *ATTR in *SIGMASK.  If there is no signal
-   mask stored, return PTHREAD_ATTR_NOSIGMASK_NP.  Return zero on
-   success.  */
-extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
-				       __sigset_t *sigmask);
-
-/* Special return value from pthread_attr_getsigmask_np if the signal
-   mask has not been set.  */
-#define PTHREAD_ATTR_NO_SIGMASK_NP (-1)
-
 /* Set the default attributes to be used by pthread_create in this
    process.  */
 extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
lib/libc/include/generic-glibc/signal.h
@@ -27,7 +27,7 @@
 __BEGIN_DECLS
 
 #include <bits/types.h>
-#include <bits/signum-generic.h>
+#include <bits/signum.h>
 
 #include <bits/types/sig_atomic_t.h>
 
@@ -148,8 +148,7 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
 
 #ifdef __USE_XOPEN_EXTENDED
 # ifdef __GNUC__
-extern int sigpause (int __sig) __asm__ ("__xpg_sigpause")
-  __attribute_deprecated_msg__ ("Use the sigsuspend function instead");
+extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
 # else
 extern int __sigpause (int __sig_or_mask, int __is_sig);
 /* Remove a signal from the signal mask and suspend the process.  */
@@ -165,9 +164,7 @@ extern int __sigpause (int __sig_or_mask, int __is_sig);
    simply do not work in many situations.  Use `sigprocmask' instead.  */
 
 /* Compute mask for signal SIG.  */
-# define sigmask(sig) \
-  __glibc_macro_warning ("sigmask is deprecated") \
-  ((int)(1u << ((sig) - 1)))
+# define sigmask(sig) ((int)(1u << ((sig) - 1)))
 
 /* Block signals in MASK, returning the old mask.  */
 extern int sigblock (int __mask) __THROW __attribute_deprecated__;
@@ -284,6 +281,12 @@ extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
 
 #ifdef __USE_MISC
 
+/* Names of the signals.  This variable exists only for compatibility.
+   Use `strsignal' instead (see <string.h>).  */
+extern const char *const _sys_siglist[_NSIG];
+extern const char *const sys_siglist[_NSIG];
+
+
 /* Get machine-dependent `struct sigcontext' and signal subcodes.  */
 # include <bits/sigcontext.h>
 
@@ -308,8 +311,7 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
 /* If INTERRUPT is nonzero, make signal SIG interrupt system calls
    (causing them to fail with EINTR); if INTERRUPT is zero, make system
    calls be restarted after signal SIG.  */
-extern int siginterrupt (int __sig, int __interrupt) __THROW
-  __attribute_deprecated_msg__ ("Use sigaction with SA_RESTART instead");
+extern int siginterrupt (int __sig, int __interrupt) __THROW;
 
 # include <bits/sigstack.h>
 # include <bits/ss_flags.h>
@@ -338,21 +340,16 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
 /* Simplified interface for signal management.  */
 
 /* Add SIG to the calling process' signal mask.  */
-extern int sighold (int __sig) __THROW
-  __attribute_deprecated_msg__ ("Use the sigprocmask function instead");
+extern int sighold (int __sig) __THROW;
 
 /* Remove SIG from the calling process' signal mask.  */
-extern int sigrelse (int __sig) __THROW
-  __attribute_deprecated_msg__ ("Use the sigprocmask function instead");
+extern int sigrelse (int __sig) __THROW;
 
 /* Set the disposition of SIG to SIG_IGN.  */
-extern int sigignore (int __sig) __THROW
-  __attribute_deprecated_msg__ ("Use the signal function instead");
+extern int sigignore (int __sig) __THROW;
 
 /* Set the disposition of SIG.  */
-extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW
-  __attribute_deprecated_msg__
-    ("Use the signal and sigprocmask functions instead");
+extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW;
 #endif
 
 #if defined __USE_POSIX199506 || defined __USE_UNIX98
lib/libc/include/generic-glibc/stdio.h
@@ -400,12 +400,9 @@ extern int sscanf (const char *__restrict __s,
 		   const char *__restrict __format, ...) __THROW;
 
 /* For historical reasons, the C99-compliant versions of the scanf
-   functions are at alternative names.  When __LDBL_COMPAT or
-   __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
-   bits/stdio-ldbl.h.  */
-#include <bits/floatn.h>
-#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
-    && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
+   functions are at alternative names.  When __LDBL_COMPAT is in
+   effect, this is handled in bits/stdio-ldbl.h.  */
+#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT
 # ifdef __REDIRECT
 extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
 				const char *__restrict __format, ...),
@@ -450,8 +447,7 @@ extern int vsscanf (const char *__restrict __s,
 
 /* Same redirection as above for the v*scanf family.  */
 # if !__GLIBC_USE (DEPRECATED_SCANF)
-#  if defined __REDIRECT && !defined __LDBL_COMPAT \
-      && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
+#  if defined __REDIRECT && !defined __LDBL_COMPAT
 extern int __REDIRECT (vfscanf,
 		       (FILE *__restrict __s,
 			const char *__restrict __format, __gnuc_va_list __arg),
@@ -566,7 +562,7 @@ extern int putw (int __w, FILE *__stream);
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
-     __wur __attr_access ((__write_only__, 1, 2));
+     __wur;
 
 #if __GLIBC_USE (DEPRECATED_GETS)
 /* Get a newline-terminated string from stdin, removing the newline.
@@ -589,8 +585,7 @@ extern char *gets (char *__s) __wur __attribute_deprecated__;
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern char *fgets_unlocked (char *__restrict __s, int __n,
-			     FILE *__restrict __stream) __wur
-    __attr_access ((__write_only__, 1, 2));
+			     FILE *__restrict __stream) __wur;
 #endif
 
 
@@ -779,6 +774,12 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;
    marked with __THROW.  */
 extern void perror (const char *__s);
 
+/* Provide the declarations for `sys_errlist' and `sys_nerr' if they
+   are available on this system.  Even if available, these variables
+   should not be used directly.  The `strerror' function provides
+   all the necessary functionality.  */
+#include <bits/sys_errlist.h>
+
 
 #ifdef	__USE_POSIX
 /* Return the system file descriptor for STREAM.  */
@@ -865,9 +866,7 @@ extern int __overflow (FILE *, int);
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
 # include <bits/stdio2.h>
 #endif
-
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/stdio-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/stdlib.h
@@ -397,7 +397,7 @@ extern long int a64l (const char *__s)
    `initstate' and `setstate' functions are those from BSD Unices.
    The `rand' and `srand' functions are required by the ANSI standard.
    We provide both interfaces to the same random number generator.  */
-/* Return a random long integer between 0 and 2^31-1 inclusive.  */
+/* Return a random long integer between 0 and RAND_MAX inclusive.  */
 extern long int random (void) __THROW;
 
 /* Seed the random number generator with the given number.  */
@@ -931,13 +931,12 @@ extern int wctomb (char *__s, wchar_t __wchar) __THROW;
 
 /* Convert a multibyte string to a wide char string.  */
 extern size_t mbstowcs (wchar_t *__restrict  __pwcs,
-			const char *__restrict __s, size_t __n) __THROW
-    __attr_access ((__read_only__, 2));
+			const char *__restrict __s, size_t __n) __THROW;
 /* Convert a wide char string to multibyte string.  */
 extern size_t wcstombs (char *__restrict __s,
 			const wchar_t *__restrict __pwcs, size_t __n)
-     __THROW
-  __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
+     __THROW;
+
 
 #ifdef __USE_MISC
 /* Determine whether the string value of RESPONSE matches the affirmation
@@ -991,7 +990,7 @@ extern char *ptsname (int __fd) __THROW __wur;
    terminal associated with the master FD is open on in BUF.
    Return 0 on success, otherwise an error number.  */
 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
-     __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
+     __THROW __nonnull ((2));
 
 /* Open a master pseudo terminal and return its file descriptor.  */
 extern int getpt (void);
@@ -1017,9 +1016,7 @@ extern int ttyslot (void) __THROW;
 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
 # include <bits/stdlib.h>
 #endif
-
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/stdlib-ldbl.h>
 #endif
 
lib/libc/include/generic-glibc/string.h
@@ -53,7 +53,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)
 #if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)
 extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
 		      int __c, size_t __n)
-    __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4));
+     __THROW __nonnull ((1, 2));
 #endif /* Misc || X/Open.  */
 
 
@@ -108,15 +108,12 @@ extern void *rawmemchr (const void *__s, int __c)
 /* Search N bytes of S for the final occurrence of C.  */
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" void *memrchr (void *__s, int __c, size_t __n)
-      __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1))
-      __attr_access ((__read_only__, 1, 3));
+      __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
 extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
-      __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1))
-      __attr_access ((__read_only__, 1, 3));
+      __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
 # else
 extern void *memrchr (const void *__s, int __c, size_t __n)
-      __THROW __attribute_pure__ __nonnull ((1))
-      __attr_access ((__read_only__, 1, 3));
+      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 #endif
 
@@ -149,7 +146,7 @@ extern int strcoll (const char *__s1, const char *__s2)
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t strxfrm (char *__restrict __dest,
 		       const char *__restrict __src, size_t __n)
-    __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3));
+     __THROW __nonnull ((2));
 
 #ifdef __USE_XOPEN2K8
 /* POSIX.1-2008 extended locale interface (see locale.h).  */
@@ -161,8 +158,7 @@ extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
 /* Put a transformation of SRC into no more than N bytes of DEST,
    using sorting rules from L.  */
 extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
-			 locale_t __l) __THROW __nonnull ((2, 4))
-     __attr_access ((__write_only__, 1, 3));
+			 locale_t __l) __THROW __nonnull ((2, 4));
 #endif
 
 #if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8	\
@@ -372,9 +368,7 @@ extern char *strcasestr (const char *__haystack, const char *__needle)
    HAYSTACK is HAYSTACKLEN bytes long.  */
 extern void *memmem (const void *__haystack, size_t __haystacklen,
 		     const void *__needle, size_t __needlelen)
-     __THROW __attribute_pure__ __nonnull ((1, 3))
-    __attr_access ((__read_only__, 1, 2))
-    __attr_access ((__read_only__, 3, 4));
+     __THROW __attribute_pure__ __nonnull ((1, 3));
 
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
@@ -415,25 +409,17 @@ extern char *strerror (int __errnum) __THROW;
 #  ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (strerror_r,
 			   (int __errnum, char *__buf, size_t __buflen),
-			   __xpg_strerror_r) __nonnull ((2))
-    __attr_access ((__write_only__, 2, 3));
+			   __xpg_strerror_r) __nonnull ((2));
 #  else
 extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)
-     __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
+     __THROW __nonnull ((2));
 #   define strerror_r __xpg_strerror_r
 #  endif
 # else
 /* If a temporary buffer is required, at most BUFLEN bytes of BUF will be
    used.  */
 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
-     __THROW __nonnull ((2)) __wur  __attr_access ((__write_only__, 2, 3));
-# endif
-
-# ifdef __USE_GNU
-/* Return a string describing the meaning of tthe error in ERR.  */
-extern const char *strerrordesc_np (int __err) __THROW;
-/* Return a string with the error name in ERR.  */
-extern const char *strerrorname_np (int __err) __THROW;
+     __THROW __nonnull ((2)) __wur;
 # endif
 #endif
 
@@ -447,8 +433,7 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW;
 
 /* Set N bytes of S to 0.  The compiler will not delete a call to this
    function, even if S is dead after the call.  */
-extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1))
-    __attr_access ((__write_only__, 1, 2));
+extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 /* Return the next DELIM-delimited token from *STRINGP,
    terminating it with a '\0', and update *STRINGP to point past it.  */
@@ -461,14 +446,6 @@ extern char *strsep (char **__restrict __stringp,
 /* Return a string describing the meaning of the signal number in SIG.  */
 extern char *strsignal (int __sig) __THROW;
 
-# ifdef __USE_GNU
-/* Return an abbreviation string for the signal number SIG.  */
-extern const char *sigabbrev_np (int __sig) __THROW;
-/* Return a string describing the meaning of the signal number in SIG,
-   the result is not translated.  */
-extern const char *sigdescr_np (int __sig) __THROW;
-# endif
-
 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
 extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
@@ -494,8 +471,7 @@ extern int strverscmp (const char *__s1, const char *__s2)
 extern char *strfry (char *__string) __THROW __nonnull ((1));
 
 /* Frobnicate N bytes of S.  */
-extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1))
-    __attr_access ((__write_only__, 1, 2));
+extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));
 
 # ifndef basename
 /* Return the file name within directory of FILENAME.  We don't
lib/libc/include/generic-glibc/threads.h
@@ -24,7 +24,7 @@
 
 __BEGIN_DECLS
 
-#include <bits/thread-shared-types.h>
+#include <bits/pthreadtypes-arch.h>
 #include <bits/types/struct_timespec.h>
 
 #ifndef __cplusplus
@@ -32,10 +32,10 @@ __BEGIN_DECLS
 #endif
 
 #define TSS_DTOR_ITERATIONS 4
-typedef __tss_t tss_t;
+typedef unsigned int tss_t;
 typedef void (*tss_dtor_t) (void*);
 
-typedef __thrd_t thrd_t;
+typedef unsigned long int thrd_t;
 typedef int (*thrd_start_t) (void*);
 
 /* Exit and error codes.  */
@@ -56,8 +56,11 @@ enum
   mtx_timed     = 2
 };
 
-typedef __once_flag once_flag;
-#define ONCE_FLAG_INIT __ONCE_FLAG_INIT
+typedef struct
+{
+  int __data __ONCE_ALIGNMENT;
+} once_flag;
+#define ONCE_FLAG_INIT { 0 }
 
 typedef union
 {
lib/libc/include/generic-glibc/unistd.h
@@ -357,15 +357,13 @@ extern int close (int __fd);
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur
-    __attr_access ((__write_only__, 2, 3));
+extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur;
 
 /* Write N bytes of BUF to FD.  Return the number written, or -1.
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
-    __attr_access ((__read_only__, 2, 3));
+extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;
 
 #if defined __USE_UNIX98 || defined __USE_XOPEN2K8
 # ifndef __USE_FILE_OFFSET64
@@ -376,8 +374,7 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
-		      __off_t __offset) __wur
-    __attr_access ((__write_only__, 2, 3));
+		      __off_t __offset) __wur;
 
 /* Write N bytes of BUF to FD at the given position OFFSET without
    changing the file pointer.  Return the number written, or -1.
@@ -385,19 +382,15 @@ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern ssize_t pwrite (int __fd, const void *__buf, size_t __n,
-		       __off_t __offset) __wur
-    __attr_access ((__read_only__, 2, 3));
-
+		       __off_t __offset) __wur;
 # else
 #  ifdef __REDIRECT
 extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,
 				   __off64_t __offset),
-			   pread64) __wur
-    __attr_access ((__write_only__, 2, 3));
+			   pread64) __wur;
 extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
 				    size_t __nbytes, __off64_t __offset),
-			   pwrite64) __wur
-    __attr_access ((__read_only__, 2, 3));
+			   pwrite64) __wur;
 #  else
 #   define pread pread64
 #   define pwrite pwrite64
@@ -409,13 +402,11 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
    changing the file pointer.  Return the number read, -1 for errors
    or 0 for EOF.  */
 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
-			__off64_t __offset) __wur
-    __attr_access ((__write_only__, 2, 3));
+			__off64_t __offset) __wur;
 /* Write N bytes of BUF to FD at the given position OFFSET without
    changing the file pointer.  Return the number written, or -1.  */
 extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
-			 __off64_t __offset) __wur
-    __attr_access ((__read_only__, 2, 3));
+			 __off64_t __offset) __wur;
 # endif
 #endif
 
@@ -517,8 +508,7 @@ extern int fchdir (int __fd) __THROW __wur;
    an array is allocated with `malloc'; the array is SIZE
    bytes long, unless SIZE == 0, in which case it is as
    big as necessary.  */
-extern char *getcwd (char *__buf, size_t __size) __THROW __wur
-    __attr_access ((__write_only__, 1, 2));
+extern char *getcwd (char *__buf, size_t __size) __THROW __wur;
 
 #ifdef	__USE_GNU
 /* Return a malloc'd string containing the current directory name.
@@ -533,8 +523,7 @@ extern char *get_current_dir_name (void) __THROW;
    If successful, return BUF.  If not, put an error message in
    BUF and return NULL.  BUF should be at least PATH_MAX bytes long.  */
 extern char *getwd (char *__buf)
-     __THROW __nonnull ((1)) __attribute_deprecated__ __wur
-    __attr_access ((__write_only__, 1));
+     __THROW __nonnull ((1)) __attribute_deprecated__ __wur;
 #endif
 
 
@@ -631,8 +620,7 @@ extern long int sysconf (int __name) __THROW;
 
 #ifdef	__USE_POSIX2
 /* Get the value of the string-valued system variable NAME.  */
-extern size_t confstr (int __name, char *__buf, size_t __len) __THROW
-    __attr_access ((__write_only__, 2, 3));
+extern size_t confstr (int __name, char *__buf, size_t __len) __THROW;
 #endif
 
 
@@ -698,8 +686,8 @@ extern __gid_t getegid (void) __THROW;
 /* If SIZE is zero, return the number of supplementary groups
    the calling process is in.  Otherwise, fill in the group IDs
    of its supplementary groups in LIST and return the number written.  */
-extern int getgroups (int __size, __gid_t __list[]) __THROW __wur
-    __attr_access ((__write_only__, 2, 1));
+extern int getgroups (int __size, __gid_t __list[]) __THROW __wur;
+
 #ifdef	__USE_GNU
 /* Return nonzero iff the calling process is in group GID.  */
 extern int group_member (__gid_t __gid) __THROW;
@@ -784,7 +772,7 @@ extern char *ttyname (int __fd) __THROW;
 /* Store at most BUFLEN characters of the pathname of the terminal FD is
    open on in BUF.  Return 0 on success, otherwise an error number.  */
 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
-     __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3));
+     __THROW __nonnull ((2)) __wur;
 
 /* Return 1 if FD is a valid descriptor associated
    with a terminal, zero if not.  */
@@ -819,8 +807,7 @@ extern int symlink (const char *__from, const char *__to)
    Returns the number of characters read, or -1 for errors.  */
 extern ssize_t readlink (const char *__restrict __path,
 			 char *__restrict __buf, size_t __len)
-     __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
-
+     __THROW __nonnull ((1, 2)) __wur;
 #endif /* Use POSIX.1-2001.  */
 
 #ifdef __USE_ATFILE
@@ -831,7 +818,7 @@ extern int symlinkat (const char *__from, int __tofd,
 /* Like readlink but a relative PATH is interpreted relative to FD.  */
 extern ssize_t readlinkat (int __fd, const char *__restrict __path,
 			   char *__restrict __buf, size_t __len)
-     __THROW __nonnull ((2, 3)) __wur __attr_access ((__read_only__, 3, 4));
+     __THROW __nonnull ((2, 3)) __wur;
 #endif
 
 /* Remove the link NAME.  */
@@ -866,8 +853,7 @@ extern char *getlogin (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1))
-    __attr_access ((__write_only__, 1, 2));
+extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1));
 #endif
 
 #ifdef	__USE_MISC
@@ -888,8 +874,7 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1));
 /* Put the name of the current host in no more than LEN bytes of NAME.
    The result is null-terminated if LEN is large enough for the full
    name and the terminator.  */
-extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1))
-    __attr_access ((__write_only__, 1, 2));
+extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
 #endif
 
 
@@ -897,7 +882,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1))
 /* Set the name of the current host to NAME, which is LEN bytes long.
    This call is restricted to the super-user.  */
 extern int sethostname (const char *__name, size_t __len)
-     __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2));
+     __THROW __nonnull ((1)) __wur;
 
 /* Set the current machine's Internet number to ID.
    This call is restricted to the super-user.  */
@@ -908,9 +893,10 @@ extern int sethostid (long int __id) __THROW __wur;
    Called just like `gethostname' and `sethostname'.
    The NIS domain name is usually the empty string when not using NIS.  */
 extern int getdomainname (char *__name, size_t __len)
-     __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
+     __THROW __nonnull ((1)) __wur;
 extern int setdomainname (const char *__name, size_t __len)
-     __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2));
+     __THROW __nonnull ((1)) __wur;
+
 
 /* Revoke access permissions to all processes currently communicating
    with the control terminal, and then send a SIGHUP signal to the process
@@ -1145,9 +1131,7 @@ extern char *crypt (const char *__key, const char *__salt)
    range [FROM - N + 1, FROM - 1].  If N is odd the first byte in FROM
    is without partner.  */
 extern void swab (const void *__restrict __from, void *__restrict __to,
-		  ssize_t __n) __THROW __nonnull ((1, 2))
-    __attr_access ((__read_only__, 1, 3))
-    __attr_access ((__write_only__, 2, 3));
+		  ssize_t __n) __THROW __nonnull ((1, 2));
 #endif
 
 
@@ -1174,8 +1158,7 @@ extern int pthread_atfork (void (*__prepare) (void),
 #ifdef __USE_MISC
 /* Write LENGTH bytes of randomness starting at BUFFER.  Return 0 on
    success or -1 on error.  */
-int getentropy (void *__buffer, size_t __length) __wur
-    __attr_access ((__write_only__, 1, 2));
+int getentropy (void *__buffer, size_t __length) __wur;
 #endif
 
 /* Define some macros helping to catch buffer overflows.  */
lib/libc/include/generic-glibc/wchar.h
@@ -633,11 +633,9 @@ extern int swscanf (const wchar_t *__restrict __s,
      __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
 
 /* For historical reasons, the C99-compliant versions of the scanf
-   functions are at alternative names.  When __LDBL_COMPAT or
-   __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
-   bits/wchar-ldbl.h.  */
-#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
-     && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
+   functions are at alternative names.  When __LDBL_COMPAT is in
+   effect, this is handled in bits/wchar-ldbl.h.  */
+#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT
 #  ifdef __REDIRECT
 extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
 				 const wchar_t *__restrict __format, ...),
@@ -690,8 +688,7 @@ extern int vswscanf (const wchar_t *__restrict __s,
 /* Same redirection as above for the v*wscanf family.  */
 # if !__GLIBC_USE (DEPRECATED_SCANF) \
      && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
-     && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \
-     && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
+     && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
 #  ifdef __REDIRECT
 extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
 				  const wchar_t *__restrict __format,
@@ -852,8 +849,7 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
 # include <bits/wchar2.h>
 #endif
 
-#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __LDBL_COMPAT
 # include <bits/wchar-ldbl.h>
 #endif
 
lib/libc/include/i386-linux-gnu/bits/fenv.h
@@ -113,4 +113,58 @@ femode_t;
 
 /* Default floating-point control modes.  */
 # define FE_DFL_MODE	((const femode_t *) -1L)
+#endif
+
+
+#ifdef __USE_EXTERN_INLINES
+__BEGIN_DECLS
+
+/* Optimized versions.  */
+#ifndef _LIBC
+extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
+#endif
+__extern_always_inline void
+__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
+{
+  if ((FE_INVALID & __excepts) != 0)
+    {
+      /* One example of an invalid operation is 0.0 / 0.0.  */
+      float __f = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
+# else
+      __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
+			    : "=t" (__f) : "0" (__f));
+# endif
+      (void) &__f;
+    }
+  if ((FE_DIVBYZERO & __excepts) != 0)
+    {
+      float __f = 1.0;
+      float __g = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
+# else
+      __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
+			    : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
+# endif
+      (void) &__f;
+    }
+}
+__extern_inline int
+__NTH (feraiseexcept (int __excepts))
+{
+  if (__builtin_constant_p (__excepts)
+      && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
+    {
+      __feraiseexcept_invalid_divbyzero (__excepts);
+      return 0;
+    }
+
+  return __feraiseexcept_renamed (__excepts);
+}
+
+__END_DECLS
 #endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/select.h
@@ -19,19 +19,45 @@
 # error "Never use <bits/select.h> directly; include <sys/select.h> instead."
 #endif
 
+#include <bits/wordsize.h>
+
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# if __WORDSIZE == 64
+#  define __FD_ZERO_STOS "stosq"
+# else
+#  define __FD_ZERO_STOS "stosl"
+# endif
+
+# define __FD_ZERO(fdsp) \
+  do {									      \
+    int __d0, __d1;							      \
+    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
+			  : "=c" (__d0), "=D" (__d1)			      \
+			  : "a" (0), "0" (sizeof (fd_set)		      \
+					  / sizeof (__fd_mask)),	      \
+			    "1" (&__FDS_BITS (fdsp)[0])			      \
+			  : "memory");					      \
+  } while (0)
+
+#else	/* ! GNU CC */
 
 /* We don't use `memset' because this would require a prototype and
    the array isn't too big.  */
-#define __FD_ZERO(s) \
+# define __FD_ZERO(set)  \
   do {									      \
     unsigned int __i;							      \
-    fd_set *__arr = (s);						      \
+    fd_set *__arr = (set);						      \
     for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
       __FDS_BITS (__arr)[__i] = 0;					      \
   } while (0)
-#define __FD_SET(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
-#define __FD_CLR(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
-#define __FD_ISSET(d, s) \
-  ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
+
+#endif	/* GNU CC */
+
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
+#define __FD_ISSET(d, set) \
+  ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  x86 version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 1
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/semaphore.h
@@ -1,6 +1,6 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -28,6 +28,7 @@
 # define __SIZEOF_SEM_T	16
 #endif
 
+
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
 
lib/libc/include/i386-linux-gnu/bits/sysctl.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __x86_64__ && defined __ILP32__
+# error "sysctl system call is unsupported in x32 kernel"
+#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/typesizes.h
@@ -64,7 +64,6 @@
 #define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__SYSCALL_SLONG_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -88,15 +87,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/mips-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mips-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mips64-linux-gnuabi64/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mips64-linux-gnuabin32/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mips64el-linux-gnuabi64/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mips64el-linux-gnuabin32/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,31 @@
+/* Define where padding goes in struct msqid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#ifdef __MIPSEL__
+# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
+# define __MSQ_PAD_BEFORE_TIME 0
+#else
+# define __MSQ_PAD_AFTER_TIME 0
+# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/mipsel-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct shmid_ds.  MIPS version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME 0
+#define __SHM_SEGSZ_AFTER_TIME 0
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/signum.h
@@ -0,0 +1,68 @@
+/* Signal number definitions.  Linux/MIPS version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+#undef	SIGUSR1
+#define SIGUSR1		16
+#undef	SIGUSR2
+#define SIGUSR2		17
+#undef	SIGCHLD
+#define SIGCHLD		18
+#undef	SIGWINCH
+#define SIGWINCH	20
+#undef	SIGURG
+#define SIGURG		21
+#undef	SIGPOLL
+#define SIGPOLL		22
+#undef	SIGSTOP
+#define SIGSTOP		23
+#undef	SIGTSTP
+#define SIGTSTP		24
+#undef	SIGCONT
+#define SIGCONT		25
+#undef	SIGTTIN
+#define SIGTTIN		26
+#undef	SIGTTOU
+#define SIGTTOU		27
+#undef	SIGVTALRM
+#define SIGVTALRM	28
+#undef	SIGPROF
+#define SIGPROF		29
+#undef	SIGXCPU
+#define SIGXCPU		30
+#undef	SIGXFSZ
+#define SIGXFSZ		31
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	127
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fenvinline.h
@@ -0,0 +1,102 @@
+/* Inline floating-point environment handling functions for powerpc.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
+
+/* Inline definitions for fegetround.  */
+# define __fegetround_ISA300()						\
+  (__extension__  ({							\
+    union { double __d; unsigned long long __ll; } __u;			\
+    __asm__ __volatile__ (						\
+      ".machine push; .machine \"power9\"; mffsl %0; .machine pop"	\
+      : "=f" (__u.__d));						\
+    __u.__ll & 0x0000000000000003LL;					\
+  }))
+
+# define __fegetround_ISA2()						\
+  (__extension__  ({							\
+     int __fegetround_result;						\
+     __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0"			\
+			   : "=r"(__fegetround_result) : : "cr7");	\
+     __fegetround_result & 3;						\
+  }))
+
+# ifdef _ARCH_PWR9
+#  define __fegetround() __fegetround_ISA300()
+# elif defined __BUILTIN_CPU_SUPPORTS__
+#  define __fegetround()						\
+  (__glibc_likely (__builtin_cpu_supports ("arch_3_00"))		\
+   ? __fegetround_ISA300()						\
+   : __fegetround_ISA2()						\
+  )
+# else
+#  define __fegetround() __fegetround_ISA2()
+# endif
+
+# define fegetround() __fegetround ()
+
+# ifndef __NO_MATH_INLINES
+/* The weird 'i#*X' constraints on the following suppress a gcc
+   warning when __excepts is not a constant.  Otherwise, they mean the
+   same as just plain 'i'.  */
+
+#  if __GNUC_PREREQ(3, 4)
+
+/* Inline definition for feraiseexcept.  */
+#   define feraiseexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb1 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feraiseexcept (__e);					      \
+    __ret;								      \
+  }))
+
+/* Inline definition for feclearexcept.  */
+#   define feclearexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb0 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feclearexcept (__e);					      \
+    __ret;								      \
+  }))
+
+#  endif /* __GNUC_PREREQ(3, 4).  */
+
+# endif /* !__NO_MATH_INLINES.  */
+
+#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/hwcap.h
@@ -73,6 +73,4 @@
 #define PPC_FEATURE2_DARN	   0x00200000 /* darn instruction.  */
 #define PPC_FEATURE2_SCV	   0x00100000 /* scv syscall.  */
 #define PPC_FEATURE2_HTM_NO_SUSPEND  0x00080000 /* TM without suspended
-						   state.  */
-#define PPC_FEATURE2_ARCH_3_1	   0x00040000 /* ISA 3.1.  */
-#define PPC_FEATURE2_MMA	   0x00020000 /* Matrix-Multiply Assist.  */
\ No newline at end of file
+						   state.  */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/iscanonical.h
@@ -20,7 +20,7 @@
 # error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
 #endif
 
-#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __NO_LONG_DOUBLE_MATH
 # define iscanonical(x) ((void) (__typeof (x)) (x), 1)
 #else
 extern int __iscanonicall (long double __x)
lib/libc/include/powerpc-linux-gnu/bits/long-double.h
@@ -22,4 +22,4 @@
 #  define __NO_LONG_DOUBLE_MATH		1
 # endif
 #endif
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct msqid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __MSQ_PAD_AFTER_TIME 0
+#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct semid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/semaphore.h
@@ -1,6 +1,7 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  PowerPC version.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/powerpc-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,28 @@
+/* Define where padding goes in struct shmid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SHM_SEGSZ_AFTER_TIME 1
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names-32.h
@@ -19,6 +19,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/powerpc-linux-gnu/ieee754.h
@@ -21,7 +21,6 @@
 #include <features.h>
 
 #include <bits/endian.h>
-#include <bits/floatn.h>
 
 __BEGIN_DECLS
 
@@ -112,65 +111,6 @@ union ieee754_double
 #define IEEE754_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
 
 
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-/* long double is IEEE 128 bit */
-union ieee854_long_double
-  {
-    long double d;
-
-    /* This is the IEEE 854 quad-precision format.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:16;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#endif				/* Big endian.  */
-#if	__BYTE_ORDER == __LITTLE_ENDIAN
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:16;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif				/* Little endian.  */
-      } ieee;
-
-    /* This format makes it easier to see if a NaN is a signalling NaN.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	unsigned int quiet_nan:1;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:15;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#else
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:15;
-	unsigned int quiet_nan:1;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif
-      } ieee_nan;
-  };
-
-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent.  */
-#endif
-
-
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
 /* IBM extended format for long double.
 
    Each long double is made up of two IEEE doubles.  The value of the
@@ -181,16 +121,12 @@ union ieee854_long_double
    -0.0.  No other requirements are made; so, for example, 1.0 may be
    represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
    NaN is don't-care.  */
+
 union ibm_extended_long_double
   {
-# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
-   __ibm128 ld;
-# else
-   long double ld;
-# endif
+    long double ld;
     union ieee754_double d[2];
    };
-#endif
 
 __END_DECLS
 
lib/libc/include/powerpc64-linux-gnu/bits/fenvinline.h
@@ -0,0 +1,102 @@
+/* Inline floating-point environment handling functions for powerpc.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
+
+/* Inline definitions for fegetround.  */
+# define __fegetround_ISA300()						\
+  (__extension__  ({							\
+    union { double __d; unsigned long long __ll; } __u;			\
+    __asm__ __volatile__ (						\
+      ".machine push; .machine \"power9\"; mffsl %0; .machine pop"	\
+      : "=f" (__u.__d));						\
+    __u.__ll & 0x0000000000000003LL;					\
+  }))
+
+# define __fegetround_ISA2()						\
+  (__extension__  ({							\
+     int __fegetround_result;						\
+     __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0"			\
+			   : "=r"(__fegetround_result) : : "cr7");	\
+     __fegetround_result & 3;						\
+  }))
+
+# ifdef _ARCH_PWR9
+#  define __fegetround() __fegetround_ISA300()
+# elif defined __BUILTIN_CPU_SUPPORTS__
+#  define __fegetround()						\
+  (__glibc_likely (__builtin_cpu_supports ("arch_3_00"))		\
+   ? __fegetround_ISA300()						\
+   : __fegetround_ISA2()						\
+  )
+# else
+#  define __fegetround() __fegetround_ISA2()
+# endif
+
+# define fegetround() __fegetround ()
+
+# ifndef __NO_MATH_INLINES
+/* The weird 'i#*X' constraints on the following suppress a gcc
+   warning when __excepts is not a constant.  Otherwise, they mean the
+   same as just plain 'i'.  */
+
+#  if __GNUC_PREREQ(3, 4)
+
+/* Inline definition for feraiseexcept.  */
+#   define feraiseexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb1 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feraiseexcept (__e);					      \
+    __ret;								      \
+  }))
+
+/* Inline definition for feclearexcept.  */
+#   define feclearexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb0 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feclearexcept (__e);					      \
+    __ret;								      \
+  }))
+
+#  endif /* __GNUC_PREREQ(3, 4).  */
+
+# endif /* !__NO_MATH_INLINES.  */
+
+#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h
@@ -73,6 +73,4 @@
 #define PPC_FEATURE2_DARN	   0x00200000 /* darn instruction.  */
 #define PPC_FEATURE2_SCV	   0x00100000 /* scv syscall.  */
 #define PPC_FEATURE2_HTM_NO_SUSPEND  0x00080000 /* TM without suspended
-						   state.  */
-#define PPC_FEATURE2_ARCH_3_1	   0x00040000 /* ISA 3.1.  */
-#define PPC_FEATURE2_MMA	   0x00020000 /* Matrix-Multiply Assist.  */
\ No newline at end of file
+						   state.  */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h
@@ -20,7 +20,7 @@
 # error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
 #endif
 
-#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __NO_LONG_DOUBLE_MATH
 # define iscanonical(x) ((void) (__typeof (x)) (x), 1)
 #else
 extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64-linux-gnu/bits/long-double.h
@@ -22,4 +22,4 @@
 #  define __NO_LONG_DOUBLE_MATH		1
 # endif
 #endif
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct msqid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __MSQ_PAD_AFTER_TIME 0
+#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct semid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/semaphore.h
@@ -1,6 +1,7 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  PowerPC version.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/powerpc64-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,28 @@
+/* Define where padding goes in struct shmid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SHM_SEGSZ_AFTER_TIME 1
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h
@@ -10,7 +10,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/ieee754.h
@@ -21,7 +21,6 @@
 #include <features.h>
 
 #include <bits/endian.h>
-#include <bits/floatn.h>
 
 __BEGIN_DECLS
 
@@ -112,65 +111,6 @@ union ieee754_double
 #define IEEE754_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
 
 
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-/* long double is IEEE 128 bit */
-union ieee854_long_double
-  {
-    long double d;
-
-    /* This is the IEEE 854 quad-precision format.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:16;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#endif				/* Big endian.  */
-#if	__BYTE_ORDER == __LITTLE_ENDIAN
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:16;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif				/* Little endian.  */
-      } ieee;
-
-    /* This format makes it easier to see if a NaN is a signalling NaN.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	unsigned int quiet_nan:1;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:15;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#else
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:15;
-	unsigned int quiet_nan:1;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif
-      } ieee_nan;
-  };
-
-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent.  */
-#endif
-
-
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
 /* IBM extended format for long double.
 
    Each long double is made up of two IEEE doubles.  The value of the
@@ -181,16 +121,12 @@ union ieee854_long_double
    -0.0.  No other requirements are made; so, for example, 1.0 may be
    represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
    NaN is don't-care.  */
+
 union ibm_extended_long_double
   {
-# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
-   __ibm128 ld;
-# else
-   long double ld;
-# endif
+    long double ld;
     union ieee754_double d[2];
    };
-#endif
 
 __END_DECLS
 
lib/libc/include/powerpc64le-linux-gnu/bits/fenvinline.h
@@ -0,0 +1,102 @@
+/* Inline floating-point environment handling functions for powerpc.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
+
+/* Inline definitions for fegetround.  */
+# define __fegetround_ISA300()						\
+  (__extension__  ({							\
+    union { double __d; unsigned long long __ll; } __u;			\
+    __asm__ __volatile__ (						\
+      ".machine push; .machine \"power9\"; mffsl %0; .machine pop"	\
+      : "=f" (__u.__d));						\
+    __u.__ll & 0x0000000000000003LL;					\
+  }))
+
+# define __fegetround_ISA2()						\
+  (__extension__  ({							\
+     int __fegetround_result;						\
+     __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0"			\
+			   : "=r"(__fegetround_result) : : "cr7");	\
+     __fegetround_result & 3;						\
+  }))
+
+# ifdef _ARCH_PWR9
+#  define __fegetround() __fegetround_ISA300()
+# elif defined __BUILTIN_CPU_SUPPORTS__
+#  define __fegetround()						\
+  (__glibc_likely (__builtin_cpu_supports ("arch_3_00"))		\
+   ? __fegetround_ISA300()						\
+   : __fegetround_ISA2()						\
+  )
+# else
+#  define __fegetround() __fegetround_ISA2()
+# endif
+
+# define fegetround() __fegetround ()
+
+# ifndef __NO_MATH_INLINES
+/* The weird 'i#*X' constraints on the following suppress a gcc
+   warning when __excepts is not a constant.  Otherwise, they mean the
+   same as just plain 'i'.  */
+
+#  if __GNUC_PREREQ(3, 4)
+
+/* Inline definition for feraiseexcept.  */
+#   define feraiseexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb1 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feraiseexcept (__e);					      \
+    __ret;								      \
+  }))
+
+/* Inline definition for feclearexcept.  */
+#   define feclearexcept(__excepts) \
+  (__extension__  ({ 							      \
+    int __e = __excepts;						      \
+    int __ret;								      \
+    if (__builtin_constant_p (__e)					      \
+        && (__e & (__e - 1)) == 0					      \
+        && __e != FE_INVALID)						      \
+      {									      \
+	if (__e != 0)							      \
+	  __asm__ __volatile__ ("mtfsb0 %0"				      \
+				: : "i#*X" (__builtin_clz (__e)));	      \
+        __ret = 0;							      \
+      }									      \
+    else								      \
+      __ret = feclearexcept (__e);					      \
+    __ret;								      \
+  }))
+
+#  endif /* __GNUC_PREREQ(3, 4).  */
+
+# endif /* !__NO_MATH_INLINES.  */
+
+#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h
@@ -73,6 +73,4 @@
 #define PPC_FEATURE2_DARN	   0x00200000 /* darn instruction.  */
 #define PPC_FEATURE2_SCV	   0x00100000 /* scv syscall.  */
 #define PPC_FEATURE2_HTM_NO_SUSPEND  0x00080000 /* TM without suspended
-						   state.  */
-#define PPC_FEATURE2_ARCH_3_1	   0x00040000 /* ISA 3.1.  */
-#define PPC_FEATURE2_MMA	   0x00020000 /* Matrix-Multiply Assist.  */
\ No newline at end of file
+						   state.  */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h
@@ -20,7 +20,7 @@
 # error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
 #endif
 
-#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+#ifdef __NO_LONG_DOUBLE_MATH
 # define iscanonical(x) ((void) (__typeof (x)) (x), 1)
 #else
 extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h
@@ -1,5 +1,5 @@
 /* Properties of long double type.  ldbl-opt version.
-   Copyright (C) 2019-2020 Free Software Foundation, Inc.
+   Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,5 +22,4 @@
 #  define __NO_LONG_DOUBLE_MATH		1
 # endif
 #endif
-
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113)
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct msqid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __MSQ_PAD_AFTER_TIME 0
+#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct semid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/semaphore.h
@@ -1,6 +1,7 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  PowerPC version.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/powerpc64le-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,28 @@
+/* Define where padding goes in struct shmid_ds.  PowerPC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SHM_SEGSZ_AFTER_TIME 1
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h
@@ -10,7 +10,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/ieee754.h
@@ -21,7 +21,6 @@
 #include <features.h>
 
 #include <bits/endian.h>
-#include <bits/floatn.h>
 
 __BEGIN_DECLS
 
@@ -112,65 +111,6 @@ union ieee754_double
 #define IEEE754_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
 
 
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-/* long double is IEEE 128 bit */
-union ieee854_long_double
-  {
-    long double d;
-
-    /* This is the IEEE 854 quad-precision format.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:16;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#endif				/* Big endian.  */
-#if	__BYTE_ORDER == __LITTLE_ENDIAN
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:16;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif				/* Little endian.  */
-      } ieee;
-
-    /* This format makes it easier to see if a NaN is a signalling NaN.  */
-    struct
-      {
-#if	__BYTE_ORDER == __BIG_ENDIAN
-	unsigned int negative:1;
-	unsigned int exponent:15;
-	unsigned int quiet_nan:1;
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa0:15;
-	unsigned int mantissa1:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa3:32;
-#else
-	/* Together these comprise the mantissa.  */
-	unsigned int mantissa3:32;
-	unsigned int mantissa2:32;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:15;
-	unsigned int quiet_nan:1;
-	unsigned int exponent:15;
-	unsigned int negative:1;
-#endif
-      } ieee_nan;
-  };
-
-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent.  */
-#endif
-
-
-#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
 /* IBM extended format for long double.
 
    Each long double is made up of two IEEE doubles.  The value of the
@@ -181,16 +121,12 @@ union ieee854_long_double
    -0.0.  No other requirements are made; so, for example, 1.0 may be
    represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
    NaN is don't-care.  */
+
 union ibm_extended_long_double
   {
-# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
-   __ibm128 ld;
-# else
-   long double ld;
-# endif
+    long double ld;
     union ieee754_double d[2];
    };
-#endif
 
 __END_DECLS
 
lib/libc/include/riscv64-linux-gnu/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/semaphore.h
@@ -1,5 +1,5 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  RISC-V version.
+   Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -13,20 +13,14 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
+   License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SEMAPHORE_H
 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
 #endif
 
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T	32
-#else
-# define __SIZEOF_SEM_T	16
-#endif
+#define __SIZEOF_SEM_T	(4 * __SIZEOF_POINTER__)
 
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
lib/libc/include/riscv64-linux-gnu/bits/typesizes.h
@@ -26,45 +26,31 @@
 
 /* See <bits/types.h> for the meaning of these macros.  This file exists so
    that <bits/types.h> need not vary across different GNU platforms.  */
-#if __TIMESIZE == 64 && __WORDSIZE == 32
-/* These are the "new" y2038 types defined for architectures added after
-   the 5.1 kernel.  */
-# define __INO_T_TYPE		__UQUAD_TYPE
-# define __OFF_T_TYPE		__SQUAD_TYPE
-# define __RLIM_T_TYPE		__UQUAD_TYPE
-# define __BLKCNT_T_TYPE	__SQUAD_TYPE
-# define __FSBLKCNT_T_TYPE	__UQUAD_TYPE
-# define __FSFILCNT_T_TYPE	__UQUAD_TYPE
-# define __TIME_T_TYPE		__SQUAD_TYPE
-# define __SUSECONDS_T_TYPE	__SQUAD_TYPE
-#else
-# define __INO_T_TYPE		__ULONGWORD_TYPE
-# define __OFF_T_TYPE		__SLONGWORD_TYPE
-# define __RLIM_T_TYPE		__ULONGWORD_TYPE
-# define __BLKCNT_T_TYPE	__SLONGWORD_TYPE
-# define __FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
-# define __FSFILCNT_T_TYPE	__ULONGWORD_TYPE
-# define __TIME_T_TYPE		__SLONGWORD_TYPE
-# define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
-#endif
 
 #define __DEV_T_TYPE		__UQUAD_TYPE
 #define __UID_T_TYPE		__U32_TYPE
 #define __GID_T_TYPE		__U32_TYPE
+#define __INO_T_TYPE		__ULONGWORD_TYPE
 #define __INO64_T_TYPE		__UQUAD_TYPE
 #define __MODE_T_TYPE		__U32_TYPE
 #define __NLINK_T_TYPE		__U32_TYPE
+#define __OFF_T_TYPE		__SLONGWORD_TYPE
 #define __OFF64_T_TYPE		__SQUAD_TYPE
 #define __PID_T_TYPE		__S32_TYPE
+#define __RLIM_T_TYPE		__ULONGWORD_TYPE
 #define __RLIM64_T_TYPE		__UQUAD_TYPE
+#define	__BLKCNT_T_TYPE		__SLONGWORD_TYPE
 #define	__BLKCNT64_T_TYPE	__SQUAD_TYPE
+#define	__FSBLKCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
+#define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
+#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -76,7 +62,7 @@
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 #define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
 
-#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
+#ifdef __LP64__
 /* Tell the libc code that off_t and off64_t are actually the same type
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
@@ -90,17 +76,11 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
-
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64.h
@@ -32,7 +32,10 @@
 #define __stub_fetestexcept
 #define __stub_feupdateenv
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
-#define __stub_stty
\ No newline at end of file
+#define __stub_sstk
+#define __stub_stty
+#define __stub_sysctl
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/fenv.h
@@ -73,14 +73,14 @@ typedef unsigned int fexcept_t; /* size of fpc */
 
 
 /* Type representing floating-point environment.  This function corresponds
-   to the layout of the block used by fegetenv and fesetenv.  */
+   to the layout of the block written by the `fstenv'.  */
 typedef struct
 {
   fexcept_t __fpc;
   void *__unused;
   /* The field __unused (formerly __ieee_instruction_pointer) is a relict from
      commit "Remove PTRACE_PEEKUSER" (87b9b50f0d4b92248905e95a06a13c513dc45e59)
-     and isn't used anymore.  */
+     and isnยดt used anymore.  */
 } fenv_t;
 
 /* If the default argument is used we use this value.  */
lib/libc/include/s390x-linux-gnu/bits/long-double.h
@@ -22,4 +22,4 @@
 #  define __NO_LONG_DOUBLE_MATH		1
 # endif
 #endif
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/semaphore.h
@@ -1,6 +1,6 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/s390x-linux-gnu/bits/typesizes.h
@@ -50,7 +50,6 @@
 #define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -82,16 +81,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/sparc-linux-gnu/bits/fenv.h
@@ -83,6 +83,15 @@ typedef unsigned long int fenv_t;
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
+/* For internal use only: access the fp state register.  */
+#if __WORDSIZE == 64
+# define __fenv_stfsr(X)   __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X))
+# define __fenv_ldfsr(X)   __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
+#else
+# define __fenv_stfsr(X)   __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X))
+# define __fenv_ldfsr(X)   __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
+#endif
+
 #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned long int femode_t;
lib/libc/include/sparc-linux-gnu/bits/long-double.h
@@ -24,4 +24,4 @@
 #  define __NO_LONG_DOUBLE_MATH        1
 # endif
 #endif
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct msqid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __MSQ_PAD_AFTER_TIME 0
+#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/sparc-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct semid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/semaphore.h
@@ -1,6 +1,7 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  SPARC version.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/sparc-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,28 @@
+/* Define where padding goes in struct shmid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SHM_SEGSZ_AFTER_TIME 1
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/signum.h
@@ -0,0 +1,39 @@
+/* Signal number definitions.  Linux/SPARC version.
+   Copyright (C) 1996-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/SPARC systems.  Signal values on this platform were chosen
+   for SunOS binary compatibility.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGLOST		29	/* Resource lost (Sun); server died (GNU).  */
+#define SIGPWR		SIGLOST	/* Power failure imminent (SysV).  */
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	64
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/typesizes.h
@@ -50,7 +50,6 @@
 #define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__S32_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -76,16 +75,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/sparcv9-linux-gnu/bits/fenv.h
@@ -83,6 +83,15 @@ typedef unsigned long int fenv_t;
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
+/* For internal use only: access the fp state register.  */
+#if __WORDSIZE == 64
+# define __fenv_stfsr(X)   __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X))
+# define __fenv_ldfsr(X)   __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
+#else
+# define __fenv_stfsr(X)   __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X))
+# define __fenv_ldfsr(X)   __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
+#endif
+
 #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned long int femode_t;
lib/libc/include/sparcv9-linux-gnu/bits/long-double.h
@@ -24,4 +24,4 @@
 #  define __NO_LONG_DOUBLE_MATH        1
 # endif
 #endif
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/msq-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct msqid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __MSQ_PAD_AFTER_TIME 0
+#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/resource.h
@@ -98,7 +98,7 @@ enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in microseconds that a process scheduled under a real-time
+  /* Maximum CPU time in ยตs that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
lib/libc/include/sparcv9-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,26 @@
+/* Define where padding goes in struct semid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SEM_PAD_AFTER_TIME 0
+#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/semaphore.h
@@ -1,6 +1,7 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Machine-specific POSIX semaphore type layouts.  SPARC version.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
lib/libc/include/sparcv9-linux-gnu/bits/shm-pad.h
@@ -0,0 +1,28 @@
+/* Define where padding goes in struct shmid_ds.  SPARC version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define __SHM_PAD_AFTER_TIME 0
+#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
+#define __SHM_SEGSZ_AFTER_TIME 1
+#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/signum.h
@@ -0,0 +1,39 @@
+/* Signal number definitions.  Linux/SPARC version.
+   Copyright (C) 1996-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_H
+#define _BITS_SIGNUM_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum.h> directly; use <signal.h> instead."
+#endif
+
+#include <bits/signum-generic.h>
+
+/* Adjustments and additions to the signal number constants for
+   Linux/SPARC systems.  Signal values on this platform were chosen
+   for SunOS binary compatibility.  */
+
+#define SIGEMT		 7	/* Emulator trap.  */
+#define SIGLOST		29	/* Resource lost (Sun); server died (GNU).  */
+#define SIGPWR		SIGLOST	/* Power failure imminent (SysV).  */
+
+#undef	__SIGRTMAX
+#define __SIGRTMAX	64
+
+#endif	/* <signal.h> included.  */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h
@@ -50,7 +50,6 @@
 #define __TIME_T_TYPE		__SLONGWORD_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__S32_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -76,16 +75,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/x86_64-linux-gnu/bits/fenv.h
@@ -113,4 +113,58 @@ femode_t;
 
 /* Default floating-point control modes.  */
 # define FE_DFL_MODE	((const femode_t *) -1L)
+#endif
+
+
+#ifdef __USE_EXTERN_INLINES
+__BEGIN_DECLS
+
+/* Optimized versions.  */
+#ifndef _LIBC
+extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
+#endif
+__extern_always_inline void
+__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
+{
+  if ((FE_INVALID & __excepts) != 0)
+    {
+      /* One example of an invalid operation is 0.0 / 0.0.  */
+      float __f = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
+# else
+      __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
+			    : "=t" (__f) : "0" (__f));
+# endif
+      (void) &__f;
+    }
+  if ((FE_DIVBYZERO & __excepts) != 0)
+    {
+      float __f = 1.0;
+      float __g = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
+# else
+      __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
+			    : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
+# endif
+      (void) &__f;
+    }
+}
+__extern_inline int
+__NTH (feraiseexcept (int __excepts))
+{
+  if (__builtin_constant_p (__excepts)
+      && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
+    {
+      __feraiseexcept_invalid_divbyzero (__excepts);
+      return 0;
+    }
+
+  return __feraiseexcept_renamed (__excepts);
+}
+
+__END_DECLS
 #endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/select.h
@@ -19,19 +19,45 @@
 # error "Never use <bits/select.h> directly; include <sys/select.h> instead."
 #endif
 
+#include <bits/wordsize.h>
+
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# if __WORDSIZE == 64
+#  define __FD_ZERO_STOS "stosq"
+# else
+#  define __FD_ZERO_STOS "stosl"
+# endif
+
+# define __FD_ZERO(fdsp) \
+  do {									      \
+    int __d0, __d1;							      \
+    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
+			  : "=c" (__d0), "=D" (__d1)			      \
+			  : "a" (0), "0" (sizeof (fd_set)		      \
+					  / sizeof (__fd_mask)),	      \
+			    "1" (&__FDS_BITS (fdsp)[0])			      \
+			  : "memory");					      \
+  } while (0)
+
+#else	/* ! GNU CC */
 
 /* We don't use `memset' because this would require a prototype and
    the array isn't too big.  */
-#define __FD_ZERO(s) \
+# define __FD_ZERO(set)  \
   do {									      \
     unsigned int __i;							      \
-    fd_set *__arr = (s);						      \
+    fd_set *__arr = (set);						      \
     for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
       __FDS_BITS (__arr)[__i] = 0;					      \
   } while (0)
-#define __FD_SET(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
-#define __FD_CLR(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
-#define __FD_ISSET(d, s) \
-  ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
+
+#endif	/* GNU CC */
+
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
+#define __FD_ISSET(d, set) \
+  ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  x86 version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 1
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/semaphore.h
@@ -1,6 +1,6 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -28,6 +28,7 @@
 # define __SIZEOF_SEM_T	16
 #endif
 
+
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
 
lib/libc/include/x86_64-linux-gnu/bits/sysctl.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __x86_64__ && defined __ILP32__
+# error "sysctl system call is unsupported in x32 kernel"
+#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/typesizes.h
@@ -64,7 +64,6 @@
 #define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__SYSCALL_SLONG_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -88,15 +87,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h
@@ -11,7 +11,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/fenv.h
@@ -113,4 +113,58 @@ femode_t;
 
 /* Default floating-point control modes.  */
 # define FE_DFL_MODE	((const femode_t *) -1L)
+#endif
+
+
+#ifdef __USE_EXTERN_INLINES
+__BEGIN_DECLS
+
+/* Optimized versions.  */
+#ifndef _LIBC
+extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
+#endif
+__extern_always_inline void
+__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
+{
+  if ((FE_INVALID & __excepts) != 0)
+    {
+      /* One example of an invalid operation is 0.0 / 0.0.  */
+      float __f = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
+# else
+      __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
+			    : "=t" (__f) : "0" (__f));
+# endif
+      (void) &__f;
+    }
+  if ((FE_DIVBYZERO & __excepts) != 0)
+    {
+      float __f = 1.0;
+      float __g = 0.0;
+
+# ifdef __SSE_MATH__
+      __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
+# else
+      __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
+			    : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
+# endif
+      (void) &__f;
+    }
+}
+__extern_inline int
+__NTH (feraiseexcept (int __excepts))
+{
+  if (__builtin_constant_p (__excepts)
+      && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
+    {
+      __feraiseexcept_invalid_divbyzero (__excepts);
+      return 0;
+    }
+
+  return __feraiseexcept_renamed (__excepts);
+}
+
+__END_DECLS
 #endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/long-double.h
@@ -18,4 +18,4 @@
 
 /* long double is distinct from double, so there is nothing to
    define here.  */
-#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
+#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/select.h
@@ -19,19 +19,45 @@
 # error "Never use <bits/select.h> directly; include <sys/select.h> instead."
 #endif
 
+#include <bits/wordsize.h>
+
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# if __WORDSIZE == 64
+#  define __FD_ZERO_STOS "stosq"
+# else
+#  define __FD_ZERO_STOS "stosl"
+# endif
+
+# define __FD_ZERO(fdsp) \
+  do {									      \
+    int __d0, __d1;							      \
+    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
+			  : "=c" (__d0), "=D" (__d1)			      \
+			  : "a" (0), "0" (sizeof (fd_set)		      \
+					  / sizeof (__fd_mask)),	      \
+			    "1" (&__FDS_BITS (fdsp)[0])			      \
+			  : "memory");					      \
+  } while (0)
+
+#else	/* ! GNU CC */
 
 /* We don't use `memset' because this would require a prototype and
    the array isn't too big.  */
-#define __FD_ZERO(s) \
+# define __FD_ZERO(set)  \
   do {									      \
     unsigned int __i;							      \
-    fd_set *__arr = (s);						      \
+    fd_set *__arr = (set);						      \
     for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
       __FDS_BITS (__arr)[__i] = 0;					      \
   } while (0)
-#define __FD_SET(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
-#define __FD_CLR(d, s) \
-  ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
-#define __FD_ISSET(d, s) \
-  ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
+
+#endif	/* GNU CC */
+
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
+#define __FD_ISSET(d, set) \
+  ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/sem-pad.h
@@ -0,0 +1,24 @@
+/* Define where padding goes in struct semid_ds.  x86 version.
+   Copyright (C) 2018-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_SEM_H
+# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
+#endif
+
+#define __SEM_PAD_AFTER_TIME 1
+#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/semaphore.h
@@ -1,6 +1,6 @@
-/* Generic POSIX semaphore type layout
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -28,6 +28,7 @@
 # define __SIZEOF_SEM_T	16
 #endif
 
+
 /* Value returned if `sem_open' failed.  */
 #define SEM_FAILED      ((sem_t *) 0)
 
lib/libc/include/x86_64-linux-gnux32/bits/sysctl.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#if defined __x86_64__ && defined __ILP32__
+# error "sysctl system call is unsupported in x32 kernel"
+#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h
@@ -64,7 +64,6 @@
 #define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE
 #define __USECONDS_T_TYPE	__U32_TYPE
 #define __SUSECONDS_T_TYPE	__SYSCALL_SLONG_TYPE
-#define __SUSECONDS64_T_TYPE	__SQUAD_TYPE
 #define __DADDR_T_TYPE		__S32_TYPE
 #define __KEY_T_TYPE		__S32_TYPE
 #define __CLOCKID_T_TYPE	__S32_TYPE
@@ -88,15 +87,10 @@
 
 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.  */
 # define __STATFS_MATCHES_STATFS64  1
-
-/* And for getitimer, setitimer and rusage  */
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
 #else
 # define __RLIM_T_MATCHES_RLIM64_T	0
 
 # define __STATFS_MATCHES_STATFS64  0
-
-# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h
@@ -20,6 +20,8 @@
 #define LIBNSS_FILES_SO                 "libnss_files.so.2"
 #define LIBNSS_HESIOD_SO                "libnss_hesiod.so.2"
 #define LIBNSS_LDAP_SO                  "libnss_ldap.so.2"
+#define LIBNSS_NISPLUS_SO               "libnss_nisplus.so.2"
+#define LIBNSS_NIS_SO                   "libnss_nis.so.2"
 #define LIBNSS_TEST1_SO                 "libnss_test1.so.2"
 #define LIBNSS_TEST2_SO                 "libnss_test2.so.2"
 #define LIBPTHREAD_SO                   "libpthread.so.0"
lib/libc/include/x86_64-linux-gnux32/gnu/stubs-x32.h
@@ -16,7 +16,9 @@
 #define __stub_chflags
 #define __stub_fchflags
 #define __stub_gtty
+#define __stub_lchmod
 #define __stub_revoke
 #define __stub_setlogin
 #define __stub_sigreturn
+#define __stub_sstk
 #define __stub_stty
\ No newline at end of file