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

Guido Hatzsis guido.hatzsis at yandex.com
Fri Aug 21 10:11:18 UTC 2015


Ah ok, thanks for clarifying that.  I will remove that.

Cheers

Guido
21.08.2015, 04:48, "Thomas Petazzoni" <thomas.petazzoni at free-electrons.com>:
> 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