I cannot find anything else that is controlled by the presence of bionic, at least, that would affect x86-64.
On Tue, 16 Sept 2025 at 15:47, H.J. Lu <hjl.to...@gmail.com> wrote: > On Tue, Sep 16, 2025 at 12:41 PM connor horman via Gcc <gcc@gcc.gnu.org> > wrote: > > > > Forgot to send to the ML > > > > ---------- Forwarded message --------- > > From: connor horman <chorma...@gmail.com> > > Date: Tue, Sep 16, 2025 at 15:39 > > Subject: Re: New OS Target: unable to emulate ‘XF’ > > To: H.J. Lu <hjl.to...@gmail.com> > > > > > > I did this already, I think. That part is done and works (long double is > > 64-bit and the values of limits macros are set to what I expect for > LDBL). > > Please compare your target against Bionic target to see what is missing. > > > On Tue, Sep 16, 2025 at 15:24 H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > On Tue, Sep 16, 2025 at 9:26 AM connor horman via Gcc <gcc@gcc.gnu.org > > > > > wrote: > > > > > > > > Hello. I'm currently trying to port gcc to a new OS on x86-64. When > > > > building libgcc I get > > > > In file included from ../../../libgcc/soft-fp/extendhfxf2.c:32: > > > > ../../../libgcc/soft-fp/extended.h:68:1: error: unable to emulate > ‘XF’ > > > > 68 | typedef float XFtype __attribute__ ((mode (XF))); > > > > | ^~~~~~~ > > > > > > > > This may be because I've set `long double` as 64-bit by default, but > > > > __float80 should still work, so I don't know why this is a thing? > Anyone > > > > know why I'm getting this error? > > > > > > i386.cc has: > > > > > > /* Default long double to 64-bit for 32-bit Bionic and to __float128 > > > for 64-bit Bionic. Also default long double to 64-bit for Intel > > > MCU psABI. */ > > > if ((TARGET_HAS_BIONIC || TARGET_IAMCU) > > > && !(opts_set->x_target_flags > > > & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128))) > > > opts->x_target_flags |= (TARGET_64BIT > > > ? MASK_LONG_DOUBLE_128 > > > : MASK_LONG_DOUBLE_64); > > > > > > You need to do something similar for your OS. > > > > > > -- > > > H.J. > > > > > > > -- > H.J. >