[Buildroot] [PATCHv2 6/7] configs: add new qemu defconfig 'x86_multilib'

Romain Naour romain.naour at gmail.com
Wed Jan 19 20:54:05 UTC 2022


Hi Thomas,

Le 18/01/2022 à 13:02, Thomas De Schampheleire a écrit :
> Hi Romain,
> 
> El mar, 18 ene 2022 a las 12:51, Romain Naour
> (<romain.naour at gmail.com>) escribió:
>>
>> Hello Thomas,
>>
>> Le 18/01/2022 à 12:19, Thomas De Schampheleire a écrit :
>>> Hi,
>>>
>>> El sáb, 15 ene 2022 a las 21:03, Thomas De Schampheleire
>>> (<patrickdepinguin at gmail.com>) escribió:
>>>>
>>>> From: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
>>>>
>>>> Add a new qemu defconfig for an x86_64 target that will run an x86_64 kernel
>>>> but userspace in 32-bit (x86) mode, using BR2_KERNEL_ARCH_OVERRIDE.
>>>>
>>>> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
>>>> ---
>>>>
>>>> Note that the defconfig refers to a toolchain at
>>>> autobuild.buildroot.org, but is not yet present at that location.
>>>> I uploaded the toolchain temporarily to:
>>>> http://patrickdepinguin.com/ctng-6737cfaa8ce6-x86_multilib-glibc-gcc11.tar.xz
>>>> md5sum:b085c0d8f137c078f8f09d116d8364f8
>>>> sha256sum 2a5241d9274239532e44d37c65509931fbc120db5991412f946eb38176db4dc2
>>>>
>>>>
>>>
>>> Romain Naour notified me that this toolchain does not run on the GCC
>>> Farm (Illegal instruction) so I made a new version, currently uploaded
>>> at:
>>> http://patrickdepinguin.com/ctng-6737cfaa8ce6-x86_multilib-glibc-gcc11-2.tar.xz
>>> md5sum:  3cee64f82675446ad255f6c165786eb5
>>> sha256sum: 6715bfbc195588b6483d39e9ec6d70611cac3b99bf2dd34fedbed0d4e6c7edc1
>>
>> This toolchain doesn't work either.
>>
>> Did you tried with CT_EXTRA_CFLAGS_FOR_BUILD="-march=x86-64" ?
>> With CT_EXTRA_CXXFLAGS_FOR_BUILD maybe or both.
> 
> So you get the same error of 'Illegal instruction' ?
> 
> Following config was used (both the config as the build log are part
> of the archive):
> 
> CT_CONFIG_VERSION="3"
> # CT_PREFIX_DIR_RO is not set
> CT_EXTRA_CFLAGS_FOR_BUILD="-march=x86-64"
> CT_EXTRA_CXXFLAGS_FOR_BUILD="-march=x86-64"
> CT_ARCH_X86=y
> CT_MULTILIB=y
> CT_ARCH_64=y
> CT_STATIC_TOOLCHAIN=y

I didn't enabled static toolchain option. Can you try without it.

Notes: All Bootlin toolchain use glibc installed on the host, so we can't use
really old systems.

> CT_TARGET_VENDOR="multilib"
> CT_KERNEL_LINUX=y
> CT_GLIBC_KERNEL_VERSION_NONE=y
> # CT_CREATE_LDSO_CONF is not set
> CT_CC_GCC_MULTILIB_LIST="m64,m32"
> CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
> CT_CC_LANG_CXX=y
> CT_DEBUG_GDB=y
> CT_ZLIB_NEEDED=y
> 
> 
> 
>>
>> Also, building with a Debian jessie docker container would allow to run the
>> toolchain with old Glibc.
> 
> The toolchain is built statically, so the glibc version on the host
> does not matter.
> Perhaps I misunderstand the problem you are referring to?

I missed that your toolchain was build statically.
Usually other prebuilt toolchain are not built statically.

Best regards,
Romain


> 
> Thanks,
> Thomas
> 




More information about the buildroot mailing list