|
|
multilibdir=${multilib%;*} | multilibdir=${multilib%;*} |
libdir="lib/"$("${ROOT}/${GCC_BIN_PATH}"/gcc ${multiarg} -print-multi-os-directory) | libdir="lib/"$("${ROOT}/${GCC_BIN_PATH}"/gcc ${multiarg} -print-multi-os-directory) |
if mkdir -p "${ROOT}/${libdir}"/.gcc.config.new ; then | if mkdir -p "${ROOT}/${libdir}"/.gcc.config.new ; then |
|
# When changing the base libgcc_s.so.1, we must make sure that the new one |
|
# is available during mv execution, or it fails if it's the first run of |
|
# gcc-config (e.g.: on catalyst) |
|
save_library_path="${LD_LIBRARY_PATH}" |
|
if [[ ${ROOT} == "/" ]]; then |
|
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/${libdir}/.gcc.config.new" |
|
fi |
for gcclib in gcc_s unwind ; do | for gcclib in gcc_s unwind ; do |
if [[ -n $(ls "${ROOT}/${LDPATH}/${multilibdir}"/lib${gcclib}.so.* 2>/dev/null) ]]; then | if [[ -n $(ls "${ROOT}/${LDPATH}/${multilibdir}"/lib${gcclib}.so.* 2>/dev/null) ]]; then |
${CP} -pP "${ROOT}/${LDPATH}/${multilibdir}"/lib${gcclib}.so.* "${ROOT}/${libdir}"/.gcc.config.new/ | ${CP} -pP "${ROOT}/${LDPATH}/${multilibdir}"/lib${gcclib}.so.* "${ROOT}/${libdir}"/.gcc.config.new/ |
|
|
${MV} -f "${ROOT}/${libdir}"/.gcc.config.new/* "${ROOT}/${libdir}"/ | ${MV} -f "${ROOT}/${libdir}"/.gcc.config.new/* "${ROOT}/${libdir}"/ |
fi | fi |
done | done |
|
export LD_LIBRARY_PATH="${save_library_path}" |
rmdir "${ROOT}/${libdir}"/.gcc.config.new | rmdir "${ROOT}/${libdir}"/.gcc.config.new |
fi | fi |
done | done |