File tree Expand file tree Collapse file tree 1 file changed +23
-3
lines changed
scripts/build/companion_libs Expand file tree Collapse file tree 1 file changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -69,7 +69,6 @@ do_cc_libstdcxx_picolibc()
6969 CT_DoStep INFO " Installing libstdc++ picolibc"
7070 CT_mkdir_pushd " ${CT_BUILD_DIR} /build-cc-libstdcxx-picolibc${suffix} "
7171 " ${final_backend} " " ${final_opts[@]} "
72- # TODO: suffix
7372 CT_Popd
7473
7574 CT_EndStep
@@ -175,12 +174,13 @@ EOF
175174 CT_Popd
176175 CT_EndStep
177176
178- do_cc_libstdcxx_picolibc
179-
180177 if [ " ${CT_LIBC_PICOLIBC_GCC_LIBSTDCXX_NOEXCEPT} " = " y" ]; then
181178 do_cc_libstdcxx_picolibc noexcept
179+ CT_IterateMultilibs picolibc_rename_multilibs renamelibs variant=noexcept
182180 fi
183181
182+ do_cc_libstdcxx_picolibc
183+
184184 if [ " ${CT_STRIP_TARGET_TOOLCHAIN_LIBRARIES} " = " y" ]; then
185185
186186 CT_DoStep INFO " Stripping Picolibc library"
196196 fi
197197}
198198
199+ picolibc_rename_multilibs ()
200+ {
201+ local picolibc_lib_dir=" ${CT_PREFIX_DIR} /picolibc"
202+ local multi_flags multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_index multi_count variant
203+
204+ for arg in " $@ " ; do
205+ eval " ${arg// / \\ } "
206+ done
207+
208+ CT_DoExecLog ALL mkdir -p " ${CT_PREFIX_DIR} /${CT_TARGET} /lib/${multi_dir} "
209+
210+ for lib_a in " ${picolibc_lib_dir} /${CT_TARGET} /lib/${multi_dir} /" * .a; do
211+ if [ -f ${lib_a} ] && [ ! -L ${lib_a} ]; then
212+ _f=$( basename " ${lib_a} " )
213+ CT_DoExecLog ALL mv " ${lib_a} " \
214+ " ${CT_PREFIX_DIR} /${CT_TARGET} /lib/${multi_dir} /${_f% .* } _${variant} .a"
215+ fi
216+ done
217+ }
218+
199219fi
You can’t perform that action at this time.
0 commit comments