libgloss: probable parallel build issues

Alex Barker <[email protected]> Thu, 9 Jul 2026 08:46:14 -0700
Newsgroups gmane.comp.lib.newlib
Message-ID <CAN4=zje8EW5Z3i8nKsWHYY6PHhNnhnNzo7k1rU7wNcJXLThNRQ@mail.gmail.com>
--000000000000d8be5a06562f8666
Content-Type: multipart/alternative; boundary="000000000000d8be5906562f8664"

--000000000000d8be5906562f8664
Content-Type: text/plain; charset="UTF-8"

Hello,

I have been experiencing seemingly random build failures in libgloss under
extreme concurrent build scenarios. These errors don't seem to arise under
normal `make -jN` builds but are coming up under high concurrent builds in
CI scenarios. For example: N parallel builds all running at `make -jN -lN`
where N is something like $(nproc).

A sample of the errors I am seeing:

cp: cannot create regular file 'arm/iq80310.specs': No such file or
directory
Fatal error: can't create arm/redboot-crt0.o: No such file or directory.

I think these are cropping up because specs files are being copied into the
arm build tree but the mkdir doesn't depend on them. There are other
items that seem to suffer from a similar issue like the crt0.o and
redboot-crt0.o copies. I suspect I am running into these issues more
frequently under CI due to the elevated I/O wait.

I've attached a patch that I am working on to try and address the issues
via am__dirstamp on the items that have failed for me. I'm not sure if that
is the best approach and I am almost certain it is not complete, however,
it does appear to alleviate the build failures for my workload. There is
some additional context available at https://bugs.gentoo.org/978951 where I
first reported the bug.

Best,
Alex Barker

--000000000000d8be5906562f8664
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello,</div><div><br></div><div>I have been experienc=
ing=C2=A0seemingly random build failures in libgloss under extreme=C2=A0con=
current build scenarios. These errors don&#39;t seem to arise under normal =
`make -jN` builds but are coming up under high concurrent builds in CI scen=
arios. For example: N parallel builds all running at `make -jN -lN` where N=
 is something like $(nproc).<br><br></div><div>A sample of the errors I am =
seeing:<br><br></div><div>cp: cannot create regular file &#39;arm/iq80310.s=
pecs&#39;: No such file or directory</div><div></div><div>Fatal error: can&=
#39;t create arm/redboot-crt0.o: No such file or directory.</div><div><br><=
/div><div>I think these are cropping=C2=A0up because=C2=A0specs files are b=
eing copied into the arm build tree but the mkdir doesn&#39;t depend on the=
m. There are other items=C2=A0that seem to suffer from a similar issue like=
 the=C2=A0crt0.o and redboot-crt0.o copies. I suspect I am running into the=
se issues more frequently under CI due to the elevated=C2=A0I/O wait.=C2=A0=
</div><div><br></div><div>I&#39;ve attached a patch that I am working on to=
 try and address the issues via=C2=A0am__dirstamp on the items that have fa=
iled for me. I&#39;m not sure if that is the best approach and I am almost =
certain it is not complete, however, it does appear to=C2=A0alleviate=C2=A0=
the build failures for my workload.=C2=A0There is some additional context a=
vailable=C2=A0at=C2=A0<a href=3D"https://bugs.gentoo.org/978951">https://bu=
gs.gentoo.org/978951</a> where I first reported the bug.</div><div><br></di=
v><div>Best,</div><div>Alex Barker</div><div><br></div><div><br></div></div=
>

--000000000000d8be5906562f8664--

--000000000000d8be5a06562f8666
Content-Type: text/x-patch; charset="US-ASCII"; name="newlib-4.6.0-libgloss-arm-race.patch"
Content-Disposition: attachment; 
	filename="newlib-4.6.0-libgloss-arm-race.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_mrdo9iwr0>
X-Attachment-Id: f_mrdo9iwr0

LS0tIGEvbGliZ2xvc3MvYXJtL01ha2VmaWxlLmluYwkyMDI2LTA3LTA4IDA3OjAxOjQ1LjUwMjg1
NTQ5NiAtMDcwMAorKysgYi9saWJnbG9zcy9hcm0vTWFrZWZpbGUuaW5jCTIwMjYtMDctMDggMDc6
MDE6NDUuNTI1MjA1NTQxIC0wNzAwCkBAIC0yMSw3ICsyMSw3IEBACiAJJUQlL3JlZGJvb3QtY3J0
MC5vIFwKIAklRCUvcmVkYm9vdC1zeXNjYWxscy5vCiAKLSVEJS9yZWRib290LXN5c2NhbGxzLm86
ICVEJS9yZWRib290LXN5c2NhbGxzLmMKKyVEJS9yZWRib290LXN5c2NhbGxzLm86ICVEJS9yZWRi
b290LXN5c2NhbGxzLmMgfCAlRCUvJChhbV9fZGlyc3RhbXApCiAJJChBTV9WX0NDKSQoQ09NUElM
RSkgLURTRU1JSE9TVF9WMiAtbyAkQCAtYyAkPAogCiAjIyByZHBtb24gZmlsZXMuCkBAIC0zNyw3
ICszNyw3IEBACiAJJUQlL3RyYXAuUyBcCiAJJUQlL3RydW5jYXRlLmMKIAotJUQlL3JkcG1vbi1j
cnQwLm86ICVEJS9jcnQwLlMKKyVEJS9yZHBtb24tY3J0MC5vOiAlRCUvY3J0MC5TIHwgJUQlLyQo
YW1fX2RpcnN0YW1wKQogCSQoQU1fVl9DUFBBUykkKENQUEFTQ09NUElMRSkgLURTRU1JSE9TVF9W
MiAtREFSTV9SRFBfTU9OSVRPUiAtbyAkQCAtYyAkPAogCiAjIyByZGltb24gZmlsZXMuCkBAIC01
OCwxMCArNTgsMTAgQEAKICVDJV9SRElNT05fQ1BQRkxBR1MgPSAtRFNFTUlIT1NUX1YyIC1EQVJN
X1JESV9NT05JVE9SCiAlQyVfUkRJTU9OX1YyTV9DUFBGTEFHUyA9ICQoJUMlX1JESU1PTl9DUFBG
TEFHUykgLURTRU1JSE9TVF9WMl9NSVhFRF9NT0RFCiAKLSVEJS9yZGltb24tY3J0MC5vOiAlRCUv
Y3J0MC5TCislRCUvcmRpbW9uLWNydDAubzogJUQlL2NydDAuUyB8ICVEJS8kKGFtX19kaXJzdGFt
cCkKIAkkKEFNX1ZfQ1BQQVMpJChDUFBBU0NPTVBJTEUpICQoJUMlX1JESU1PTl9DUFBGTEFHUykg
LW8gJEAgLWMgJDwKIAotJUQlL3JkaW1vbi1jcnQwLXYybS5vOiAlRCUvY3J0MC5TCislRCUvcmRp
bW9uLWNydDAtdjJtLm86ICVEJS9jcnQwLlMgfCAlRCUvJChhbV9fZGlyc3RhbXApCiAJJChBTV9W
X0NQUEFTKSQoQ1BQQVNDT01QSUxFKSAkKCVDJV9SRElNT05fVjJNX0NQUEZMQUdTKSAtbyAkQCAt
YyAkPAogCiAlQyVfbGlicmRpbW9uX2FfU09VUkNFUyA9ICQoJUMlX2xpYnJkcG1vbl9hX1NPVVJD
RVMpCkBAIC03NywxMSArNzcsMTUgQEAKIG11bHRpbGlidG9vbF9EQVRBICs9IFwKIAkkKCVDJV9T
UEVDUykKIAorIyMgY3J0MCBvYmplY3RzIGluIG11bHRpbGlidG9vbF9EQVRBIGFyZSBjb21waWxl
ZCBieSB0aGUgaW1wbGljaXQgLlMubworIyMgcnVsZSwgd2hpY2ggbGFja3MgdGhlIGFtX19kaXJz
dGFtcC4KKyVEJS9jcnQwLm8gJUQlL2xpbnV4LWNydDAubyAlRCUvcmVkYm9vdC1jcnQwLm86IHwg
JUQlLyQoYW1fX2RpcnN0YW1wKQorCiAjIyBNYWtlIGNvcGllcyBvZiB0aGUgc2NyaXB0cyB0byBm
YWNpbGl0YXRlIGluLXRyZWUgYm9vdHN0cmFwcGluZy4KLSVEJS8lLnNwZWNzOiAlRCUvJChBUk1f
T0JKVFlQRSklLnNwZWNzCislRCUvJS5zcGVjczogJUQlLyQoQVJNX09CSlRZUEUpJS5zcGVjcyB8
ICVEJS8kKGFtX19kaXJzdGFtcCkKIAkkKEFNX1ZfR0VOKWNwICQ8ICRACiAKLSVEJS8lLmxkOiAl
RCUvJChBUk1fT0JKVFlQRSklLmxkCislRCUvJS5sZDogJUQlLyQoQVJNX09CSlRZUEUpJS5sZCB8
ICVEJS8kKGFtX19kaXJzdGFtcCkKIAkkKEFNX1ZfR0VOKWNwICQ8ICRACiAKIENMRUFORklMRVMg
Kz0gJCglQyVfU1BFQ1MpCi0tLSBhL2xpYmdsb3NzL01ha2VmaWxlLmluCTIwMjYtMDctMDggMDc6
MDE6NDUuNTAxOTk0MjIxIC0wNzAwCisrKyBiL2xpYmdsb3NzL01ha2VmaWxlLmluCTIwMjYtMDct
MDggMDc6MDE6NDUuNTI2MTgxNzk5IC0wNzAwCkBAIC0xMDM1OSwyMiArMTAzNTksMjQgQEAKIEBD
T05GSUdfQUFSQ0g2NF9UUlVFQGFhcmNoNjQvY3B1LWluaXQvcmRpbW9uLWFlbS12OC1yLiQoT0JK
RVhUKTogYWFyY2g2NC9jcHUtaW5pdC9yZGltb24tYWVtLWVsMy5TIGFhcmNoNjQvY3B1LWluaXQv
JChhbV9fZGlyc3RhbXApCiBAQ09ORklHX0FBUkNINjRfVFJVRUAJJChBTV9WX0NDKSQoQ09NUElM
RSkgJChhYXJjaDY0X2NwdV9pbml0X0NQUEZMQUdTKSAtREFSTV9SRElfTU9OSVRPUiAtREJVSUxE
X0ZPUl9SX1BST0ZJTEUgLW8gJEAgLWMgJDwKIAotQENPTkZJR19BUk1fVFJVRUBhcm0vcmVkYm9v
dC1zeXNjYWxscy5vOiBhcm0vcmVkYm9vdC1zeXNjYWxscy5jCitAQ09ORklHX0FSTV9UUlVFQGFy
bS9yZWRib290LXN5c2NhbGxzLm86IGFybS9yZWRib290LXN5c2NhbGxzLmMgfCBhcm0vJChhbV9f
ZGlyc3RhbXApCiBAQ09ORklHX0FSTV9UUlVFQAkkKEFNX1ZfQ0MpJChDT01QSUxFKSAtRFNFTUlI
T1NUX1YyIC1vICRAIC1jICQ8CiAKLUBDT05GSUdfQVJNX1RSVUVAYXJtL3JkcG1vbi1jcnQwLm86
IGFybS9jcnQwLlMKK0BDT05GSUdfQVJNX1RSVUVAYXJtL3JkcG1vbi1jcnQwLm86IGFybS9jcnQw
LlMgfCBhcm0vJChhbV9fZGlyc3RhbXApCiBAQ09ORklHX0FSTV9UUlVFQAkkKEFNX1ZfQ1BQQVMp
JChDUFBBU0NPTVBJTEUpIC1EU0VNSUhPU1RfVjIgLURBUk1fUkRQX01PTklUT1IgLW8gJEAgLWMg
JDwKIAotQENPTkZJR19BUk1fVFJVRUBhcm0vcmRpbW9uLWNydDAubzogYXJtL2NydDAuUworQENP
TkZJR19BUk1fVFJVRUBhcm0vcmRpbW9uLWNydDAubzogYXJtL2NydDAuUyB8IGFybS8kKGFtX19k
aXJzdGFtcCkKIEBDT05GSUdfQVJNX1RSVUVACSQoQU1fVl9DUFBBUykkKENQUEFTQ09NUElMRSkg
JChhcm1fUkRJTU9OX0NQUEZMQUdTKSAtbyAkQCAtYyAkPAogCi1AQ09ORklHX0FSTV9UUlVFQGFy
bS9yZGltb24tY3J0MC12Mm0ubzogYXJtL2NydDAuUworQENPTkZJR19BUk1fVFJVRUBhcm0vcmRp
bW9uLWNydDAtdjJtLm86IGFybS9jcnQwLlMgfCBhcm0vJChhbV9fZGlyc3RhbXApCiBAQ09ORklH
X0FSTV9UUlVFQAkkKEFNX1ZfQ1BQQVMpJChDUFBBU0NPTVBJTEUpICQoYXJtX1JESU1PTl9WMk1f
Q1BQRkxBR1MpIC1vICRAIC1jICQ8CiAKLUBDT05GSUdfQVJNX1RSVUVAYXJtLyUuc3BlY3M6IGFy
bS8kKEFSTV9PQkpUWVBFKSUuc3BlY3MKK0BDT05GSUdfQVJNX1RSVUVAYXJtL2NydDAubyBhcm0v
bGludXgtY3J0MC5vIGFybS9yZWRib290LWNydDAubzogfCBhcm0vJChhbV9fZGlyc3RhbXApCisK
K0BDT05GSUdfQVJNX1RSVUVAYXJtLyUuc3BlY3M6IGFybS8kKEFSTV9PQkpUWVBFKSUuc3BlY3Mg
fCBhcm0vJChhbV9fZGlyc3RhbXApCiBAQ09ORklHX0FSTV9UUlVFQAkkKEFNX1ZfR0VOKWNwICQ8
ICRACiAKLUBDT05GSUdfQVJNX1RSVUVAYXJtLyUubGQ6IGFybS8kKEFSTV9PQkpUWVBFKSUubGQK
K0BDT05GSUdfQVJNX1RSVUVAYXJtLyUubGQ6IGFybS8kKEFSTV9PQkpUWVBFKSUubGQgfCBhcm0v
JChhbV9fZGlyc3RhbXApCiBAQ09ORklHX0FSTV9UUlVFQAkkKEFNX1ZfR0VOKWNwICQ8ICRACiAK
IEBDT05GSUdfQVJNX1RSVUVAYXJtL2NwdS1pbml0LyQoYW1fX2RpcnN0YW1wKToK
--000000000000d8be5a06562f8666--