toolchain/binutils: v2.37 Close the file descriptor if there is no archive fd
authorHirokazu MORIKAWA <morikw2@gmail.com>
Sat, 8 Jan 2022 00:33:32 +0000 (09:33 +0900)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 8 Jan 2022 20:37:45 +0000 (21:37 +0100)
commit8c501bf9feeaadfb9d950806a312b328baabddcb
treef0d06df0a188388c5045853c378d07fe377eb6d3
parent46468fc9d5d95279ab0b70914ae85a31a0a5efd6
toolchain/binutils: v2.37 Close the file descriptor if there is no archive fd

This fixes the following build error:
/home/build/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-11.2.0_musl/lib/gcc/aarch64-openwrt-linux-musl/11.2.0/../../../../aarch64-openwrt-linux-musl/bin/ld: /home/sergey/openwrt2/build_dir/target-aarch64_cortex-a53_musl/node-v14.18.2/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a: error adding symbols: malformed archive
collect2: error: ld returned 1 exit status

It's a bad error handling related to -EMFILE (too many open files). nodejs is probably just very close to open file limit.

https://sourceware.org/bugzilla/show_bug.cgi?id=28138
https://github.com/nodejs/node/issues/39452

https://github.com/openwrt/packages/issues/17496
https://github.com/openwrt/packages/issues/16729
https://github.com/openwrt/packages/issues/17164

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
[Take full patch from 2.37 branch and refresh]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
toolchain/binutils/patches/2.37/600-Close_the_file_descriptor.patch [new file with mode: 0644]