[Buildroot] [PATCH v2] Add support for the x86-64 x32 ABI for glibc and musl.

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Aug 21 08:48:11 UTC 2015


Dear Guido Hatzsis,

On Thu, 20 Aug 2015 17:54:49 -0400, Guido Hatzsis wrote:

> >>   define GLIBC_INSTALL_TARGET_CMDS
> >>           for libs in $(GLIBC_LIBS_LIB); do \
> >>  - $(call copy_toolchain_lib_root,$(STAGING_DIR)/,,lib,$$libs,/lib) ; \
> >>  + $(call copy_toolchain_lib_root,$(STAGING_DIR)/,,$(if $(BR2_X86_64_ABI_X32),libx32,lib),$$libs,/lib) ; \
> >
> > Hum, I'm not too happy with this. How does it work for normal x86-64
> > toolchains that want lib64 as the library directory?
> >
> 
> I think that those two are related. The ABI is part of the x86-64 arch. Glibc uses libx32 and lib (not lib32 and lib64) when not using multilib.  This is done here.
> 
> 205 ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),)
> 206 HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI)
> 207 endif
> 
> Do you need to set the BR2_GCC_TARGET_ABI to empty? Is this the convention?

No, no.

But you make some changes in the main Makefile to have a libx32 -> lib
symbolic link in the staging directory. So I don't see why you need to
change glibc.mk to account for the libx32 thing, since libx32 is just a
symlink to lib.

But maybe I need to test by myself to understand what's going on.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list