Skip to content

toolchain: improvements to copy_toolchain_sysroot and copy_toolchain_lib_root

Thomas Petazzoni buildroot 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest posting 2/20 of 12 patches 0 repliesNew
  2. v3 posting 1/23 of 12 patches 0 repliesSuperseded

Patches in v3 posting 2/2 No applies recorded yet

None of the 12 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [Buildroot] [PATCHv3 00/12] toolchain: improvements to copy_toolchain_sysroot and copy_toolchain_lib_root

Hello,

Quoted 16 lines · Thomas De Schampheleire
Quoted 7 lines

Thomas De Schampheleire (12):
toolchain-external: reduce nesting in copy_toolchain_sysroot
toolchain-external: fix broken handling of 'usr/lib/locale'
toolchain-external: clarify rsync excludes in copy_toolchain_sysroot
toolchain-external: handle ld.so fixups centrally toolchain helpers: introduce function relpath_prefix
toolchain-external: cover multilib toolchains with lib/<variant>

Quoted 8 lines

layout
toolchain helpers: introduce simplify_symlink
toolchain-external: simplify previously-broken symbolic links
toolchain: copy_toolchain_lib_root: remove unused variable LIBDIR
toolchain: copy_toolchain_lib_root: clarify logic
toolchain: copy_toolchain_lib_root: clarify input parameter
toolchain: copy_toolchain_lib_root: copy symlinks instead of
recreating them

Quoted 6 lines

I've now applied the remainder of the series, patches 3 to 12. I still find this quite complicated overall, but I couldn't find any other solution and nobody else did, and the problem scope is complicated anyway.

Let's see the feedback we get from users :)

Unfortunately, this breaks the build with at least one toolchain: the CodeSourcery MIPS toolchain. Try the following defconfig:

BR2_mips64el=y
BR2_mips_64r2=y
BR2_MIPS_NABI64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_ALLJOYN_TCL=y
# BR2_TARGET_ROOTFS_TAR is not set

At commit a4c4cecd87851bdb3cbd4803a94df7602b102c42 (right before your patch series), it builds fine.

At commit 38b51739da7fa7b950bbc46c059fbbab465ba4cb (right after your patch series), it no longer builds, with the following error:

/home/thomas/projets/buildroot/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/soft-float/el/lib64/ld.so.1: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status

So it smells like the copying of libraries to staging no longer works as it used to work for this toolchain.

This causes some build failures in the autobuilders:

http://autobuild.buildroot.net/results/8bf/8bffe54032aad9cc710a22411ef3bff4a2c93e55/build-end.log

Could you have a look ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com