Bug#826749: clang: enable FPXX for o32 by default

Daniel Sanders Daniel.Sanders at imgtec.com
Mon Jun 13 16:34:42 UTC 2016


> -----Original Message-----
> From: Matthew Fortune
> Sent: 13 June 2016 16:55
> To: YunQiang Su; Pablo Oliveira
> Cc: 826749 at bugs.debian.org; Sylvestre Ledru; Daniel Sanders
> Subject: RE: clang: enable FPXX for o32 by default
> 
> YunQiang Su <wzssyqa at gmail.com> writes:
> > On Fri, Jun 10, 2016 at 12:10 AM, Pablo Oliveira <pablo at sifflez.org>
> > wrote:
> > > Dear YunQiang Su,
> > >
> > > On Wed, 8 Jun 2016 23:49:17 +0800 YunQiang Su <wzssyqa at gmail.com>
> > wrote:
> > >> Package: src:llvm-toolchain-snapshot
> > >>
> > >> We are working on moving all packages mips/mipsel built with
> > >> fpxx-enabled by default.
> > >>
> > >> While, now fpxx is not enabled by default in clang.
> > >> So please apply the attached patch to 3.5/3.6/3.7/3.8/snapshot.
> > >>
> > >> About FPXX and the transaction, please see:
> > >>
> > >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825342
> > >
> > > Are you sure it is ok to modify the default behavior of FPXXDefault
> > > only for Debian clang packages (this could lead to surprise and hard
> > > to track bugs for users) ?
> >
> > The clang guy in IMG told me that this the only way currently.
> >
> > >
> > > To me it makes more sense to:
> > >
> > > 1) either submit this patch upstream, so that every clang distribution
> > > has the same common behavior regarding FPXX
> >
> > I also prefer this way.
> 
> We cannot do this as the topic we are discussing here is inherently a
> decision for distributions and not upstream. Please note the setting for
> this in GCC is a build time setting so upstream GCC does not set FPXX
> by default. Fedora or other distros can choose different compatibility
> levels that suit their user base and hence may not use FPXX.
> 
> There is a longer term plan to get a build time configuration option into
> CLANG/LLVM but this will take time to plan and implement. When ready
> you can switch to it but there is no ETA.

My plan on this is a bit of a compromise between these two positions so I think I
should elaborate a little. I aim to collect all the distribution specific behaviours
upstream and have each distribution use a configure-time option to pick between
them. This allows people to cross compile to specific distributions and should
help limit any confusion caused by the configure-time option.

One possible way of going about this is to have a mips-debian-linux-gnu triple in
upstream clang that has all the Debian-specific behaviours and have Debian use a
configure-time option to map mips-linux-gnu to mips-debian-linux-gnu.

> > > 2) change the default flags used when building mips/mipsel packages,
> > > and keep the default clang behavior.
> >
> > I don't this is ideal for us.
> > It also will make people confused.
> 
> The FPXX setting is almost entirely invisible to end users it is a
> distro level decision on how compatible the resulting objects are. Only
> a handful of packages will do special things depending on this setting
> and they will be designed to cope with all possibilities eventually.
> 
> > > Could you please clarify this issue ?
> >
> > CC'd the toolchain guys in IMG.
> 
> Hope that clears it up a bit.
> 
> Matthew


More information about the Pkg-llvm-team mailing list