Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] S390 Buildroot/gcc build issue
@ 2026-08-11 11:42 Thomas Petazzoni via buildroot
  2026-08-12  9:11 ` Alexander Egorenkov
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-11 11:42 UTC (permalink / raw)
  To: Alexander Egorenkov; +Cc: buildroot

Alexander,

I am contacting you regarding a build issue I'm seeing with the S390
architecture in Buildroot.

With the following defconfig:

BR2_s390x=y
BR2_KERNEL_HEADERS_6_12=y
BR2_PACKAGE_GLIBC_KERNEL_COMPAT=y
BR2_BINUTILS_VERSION_2_46_X=y
BR2_BINUTILS_GPROFNG=y
BR2_GCC_VERSION_16_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y
BR2_GCC_ENABLE_OPENMP=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_PACKAGE_HOST_GDB_PYTHON3=y
BR2_GDB_VERSION_17=y
BR2_GNU_MIRROR="https://mirrors.kernel.org/gnu/"
BR2_PACKAGE_GDB=y

gcc 16.2.0 fails to build with:

../../../libgcc/config/s390/_dpd_sd_to_hf.c:27:25: error: decimal floating-point not supported for this target
   27 | HFtype __dpd_truncsdhf (_Decimal32);
      |                         ^~~~~~~~~~
../../../libgcc/config/s390/_dpd_sd_to_hf.c:31:16: error: decimal floating-point not supported for this target
   31 | force_convert (_Decimal32 x)
      |                ^~~~~~~~~~
../../../libgcc/config/s390/_dpd_hf_to_td.c:34:1: error: decimal floating-point not supported for this target
   34 | _Decimal128
      | ^~~~~~~~~~~
../../../libgcc/config/s390/_dpd_sd_to_hf.c:35:18: error: decimal floating-point not supported for this target
   35 | __dpd_truncsdhf (_Decimal32 x)
      |                  ^~~~~~~~~~

I haven't checked whether this is new with gcc 16.x or not, and I'm
not familiar with floating point support on S390.

Are you familiar with this issue?

I see the same issue with gcc 16.1.0 in the autobuilders:

  https://autobuild.buildroot.net/results/f88/f88565af0f653df831a7fa43d2507d167fdb9d36/build-end.log

But I don't seem to see any issue with gcc 15.x, so my guess is that
this is a new issue with gcc 16.x.

Any idea?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] S390 Buildroot/gcc build issue
  2026-08-11 11:42 [Buildroot] S390 Buildroot/gcc build issue Thomas Petazzoni via buildroot
@ 2026-08-12  9:11 ` Alexander Egorenkov
  2026-08-12  9:28   ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Egorenkov @ 2026-08-12  9:11 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:

> Alexander,
>
> I am contacting you regarding a build issue I'm seeing with the S390
> architecture in Buildroot.
>
> With the following defconfig:
>
> BR2_s390x=y
> BR2_KERNEL_HEADERS_6_12=y
> BR2_PACKAGE_GLIBC_KERNEL_COMPAT=y
> BR2_BINUTILS_VERSION_2_46_X=y
> BR2_BINUTILS_GPROFNG=y
> BR2_GCC_VERSION_16_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y
> BR2_GCC_ENABLE_OPENMP=y
> BR2_PACKAGE_HOST_GDB=y
> BR2_PACKAGE_HOST_GDB_TUI=y
> BR2_PACKAGE_HOST_GDB_PYTHON3=y
> BR2_GDB_VERSION_17=y
> BR2_GNU_MIRROR="https://mirrors.kernel.org/gnu/"
> BR2_PACKAGE_GDB=y
>
> gcc 16.2.0 fails to build with:
>
> ../../../libgcc/config/s390/_dpd_sd_to_hf.c:27:25: error: decimal floating-point not supported for this target
>    27 | HFtype __dpd_truncsdhf (_Decimal32);
>       |                         ^~~~~~~~~~
> ../../../libgcc/config/s390/_dpd_sd_to_hf.c:31:16: error: decimal floating-point not supported for this target
>    31 | force_convert (_Decimal32 x)
>       |                ^~~~~~~~~~
> ../../../libgcc/config/s390/_dpd_hf_to_td.c:34:1: error: decimal floating-point not supported for this target
>    34 | _Decimal128
>       | ^~~~~~~~~~~
> ../../../libgcc/config/s390/_dpd_sd_to_hf.c:35:18: error: decimal floating-point not supported for this target
>    35 | __dpd_truncsdhf (_Decimal32 x)
>       |                  ^~~~~~~~~~
>
> I haven't checked whether this is new with gcc 16.x or not, and I'm
> not familiar with floating point support on S390.
>
> Are you familiar with this issue?
>
> I see the same issue with gcc 16.1.0 in the autobuilders:
>
>   https://autobuild.buildroot.net/results/f88/f88565af0f653df831a7fa43d2507d167fdb9d36/build-end.log
>
> But I don't seem to see any issue with gcc 15.x, so my guess is that
> this is a new issue with gcc 16.x.
>

Hi,

the types _Decimal* require for the host compiler to be built with
--enable-decimal-float.

package/gcc/gcc.mk:
-------------------

HOST_GCC_COMMON_CONF_OPTS = \
	--target=$(GNU_TARGET_NAME) \
	--with-sysroot=$(STAGING_DIR) \
	--enable-__cxa_atexit \
	--with-gnu-ld \
	--disable-libssp \
	--disable-multilib \
	--disable-decimal-float                 <----- !!!


Can we turn --disable-decimal-float into --enable-decimal-float on
s390x arch ? It fixed the problem for me.

package/gcc/gcc.mk:
-------------------

ifeq ($(BR2_s390x),y)
HOST_GCC_COMMON_CONF_OPTS += \
	--with-long-double-128 \
	--enable-decimal-float                 <----- !!!
endif

Regards
Alex
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] S390 Buildroot/gcc build issue
  2026-08-12  9:11 ` Alexander Egorenkov
@ 2026-08-12  9:28   ` Thomas Petazzoni via buildroot
  2026-08-12  9:32     ` Alexander Egorenkov
  2026-08-26 20:04     ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-12  9:28 UTC (permalink / raw)
  To: Alexander Egorenkov; +Cc: buildroot

Hello,

On Wed, Aug 12, 2026 at 11:11:10AM +0200, Alexander Egorenkov wrote:

> the types _Decimal* require for the host compiler to be built with
> --enable-decimal-float.

What do you call the "host compiler" in this context?

Are you talking about the native gcc compiler available on the host,
or the cross-compiler built by Buildroot?

> 
> package/gcc/gcc.mk:
> -------------------
> 
> HOST_GCC_COMMON_CONF_OPTS = \
> 	--target=$(GNU_TARGET_NAME) \
> 	--with-sysroot=$(STAGING_DIR) \
> 	--enable-__cxa_atexit \
> 	--with-gnu-ld \
> 	--disable-libssp \
> 	--disable-multilib \
> 	--disable-decimal-float                 <----- !!!

These are the common options...

> Can we turn --disable-decimal-float into --enable-decimal-float on
> s390x arch ? It fixed the problem for me.
> 
> package/gcc/gcc.mk:
> -------------------
> 
> ifeq ($(BR2_s390x),y)
> HOST_GCC_COMMON_CONF_OPTS += \
> 	--with-long-double-128 \
> 	--enable-decimal-float                 <----- !!!

and for S390, it gets overridden.

See: it's the same variable that gets appended, so at the end we have:

HOST_GCC_COMMON_CONF_OPTS = \
	[...]
	--disable-decimal-float \
	[...]
	--enable-decimal-float

So on S390, the cross-compiler is built with --enable-decimal-float.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] S390 Buildroot/gcc build issue
  2026-08-12  9:28   ` Thomas Petazzoni via buildroot
@ 2026-08-12  9:32     ` Alexander Egorenkov
  2026-08-26 20:04     ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 5+ messages in thread
From: Alexander Egorenkov @ 2026-08-12  9:32 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:

> Hello,
>
> On Wed, Aug 12, 2026 at 11:11:10AM +0200, Alexander Egorenkov wrote:
>
>> the types _Decimal* require for the host compiler to be built with
>> --enable-decimal-float.
>
> What do you call the "host compiler" in this context?
>
> Are you talking about the native gcc compiler available on the host,
> or the cross-compiler built by Buildroot?
>

A cross-compiler built by Buildroot.


> and for S390, it gets overridden.
>
> See: it's the same variable that gets appended, so at the end we have:
>
> HOST_GCC_COMMON_CONF_OPTS = \
> 	[...]
> 	--disable-decimal-float \
> 	[...]
> 	--enable-decimal-float
>
> So on S390, the cross-compiler is built with --enable-decimal-float.

Sorry for not being clear here, this was added by me for testing ;-)
I this change is okay, then i'll send a patch.
Not sure here, do we need to deal with Gcc 15 conditionally here ?

Regards
Alex
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] S390 Buildroot/gcc build issue
  2026-08-12  9:28   ` Thomas Petazzoni via buildroot
  2026-08-12  9:32     ` Alexander Egorenkov
@ 2026-08-26 20:04     ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-26 20:04 UTC (permalink / raw)
  To: Alexander Egorenkov; +Cc: buildroot

Hello Alexander,

Do you have some updates about the S390 gcc build issues? (See below).

Thanks a lot for your feedback,

Thomas

On Wed, Aug 12, 2026 at 11:29:02AM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, Aug 12, 2026 at 11:11:10AM +0200, Alexander Egorenkov wrote:
> 
> > the types _Decimal* require for the host compiler to be built with
> > --enable-decimal-float.
> 
> What do you call the "host compiler" in this context?
> 
> Are you talking about the native gcc compiler available on the host,
> or the cross-compiler built by Buildroot?
> 
> > 
> > package/gcc/gcc.mk:
> > -------------------
> > 
> > HOST_GCC_COMMON_CONF_OPTS = \
> > 	--target=$(GNU_TARGET_NAME) \
> > 	--with-sysroot=$(STAGING_DIR) \
> > 	--enable-__cxa_atexit \
> > 	--with-gnu-ld \
> > 	--disable-libssp \
> > 	--disable-multilib \
> > 	--disable-decimal-float                 <----- !!!
> 
> These are the common options...
> 
> > Can we turn --disable-decimal-float into --enable-decimal-float on
> > s390x arch ? It fixed the problem for me.
> > 
> > package/gcc/gcc.mk:
> > -------------------
> > 
> > ifeq ($(BR2_s390x),y)
> > HOST_GCC_COMMON_CONF_OPTS += \
> > 	--with-long-double-128 \
> > 	--enable-decimal-float                 <----- !!!
> 
> and for S390, it gets overridden.
> 
> See: it's the same variable that gets appended, so at the end we have:
> 
> HOST_GCC_COMMON_CONF_OPTS = \
> 	[...]
> 	--disable-decimal-float \
> 	[...]
> 	--enable-decimal-float
> 
> So on S390, the cross-compiler is built with --enable-decimal-float.
> 
> Best regards,
> 
> Thomas
> -- 
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com

-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-26 20:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 11:42 [Buildroot] S390 Buildroot/gcc build issue Thomas Petazzoni via buildroot
2026-08-12  9:11 ` Alexander Egorenkov
2026-08-12  9:28   ` Thomas Petazzoni via buildroot
2026-08-12  9:32     ` Alexander Egorenkov
2026-08-26 20:04     ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox