Hi!

On Tue, 2015-12-08 at 01:07:16 +0800, YunQiang Su wrote:
> Package: src:dpkg
> Version: 1.18.3

> We are working on add basic support of MIPS R6 support to Debian.
> Please add the support of R6 architectures to dpkg.
> 
> About MIPS R6:
> MIPS R6 is a new release of MIPS32 and MIPS64.
> R6 is not fully compatible with R5-,
> as it adds and *removes* some instructions, and add emulation
> of the removed instructions in kernel,
> so old binaries can still run on new R6 CPUs.
> 
> While for the new CPUs, we still wish they can have their own architectures.

I feel quite uneasy with these kind of architecture requests, when they
seem to be mostly just new ISAs of pre-existing CPUs. More so when there's
kernel emulation for missing instructions and such.

Are the removed instructions widely used? Are they emitted as part of
normal gcc output, or are they contained in very specific areas, that
providing optimized versions of those packages using hwcap support
would mean no degradation at all?

I see that config.guess/config.sub already support this, I've had no
time to check what's the status on the rest of the toolchain?

Also I guess this is extremely new, but before considering to add this
stuff, I'd also like to know the stance of the pre-existing mips porters
on these. Should we instead try to target a bump of the MIPS ISAs?

> diff --git a/cputable b/cputable
> index 676dcd7..f9f7f63 100644
> --- a/cputable
> +++ b/cputable
> @@ -29,6 +29,10 @@ mips               mips            mips(eb)?               
> 32      big
>  mipsel               mipsel          mipsel                  32      little
>  mips64               mips64          mips64                  64      big
>  mips64el     mips64el        mips64el                64      little
> +mips32r6     mipsisa32r6     mipsisa32r6     `       32      big

As Helmut pointed out on IRC, there's a spurious ` here.

> diff --git a/triplettable b/triplettable
> index 7257744..a5ec5f1 100644
> --- a/triplettable
> +++ b/triplettable
> @@ -9,10 +9,14 @@ musleabihf-linux-arm        musl-linux-armhf
> +gnuabin32-linux-mips64r6     mipsn32r6
> +gnuabin32-linux-mips64r6el   mipsn32r6el
> +gnuabi64-linux-mips64r6      mips64r6
> +gnuabi64-linux-mips64r6el    mips64r6el

Are you really going to try to get all these arches up? Otherwise I'd
avoid the clutter.

Thanks,
Guillem

Reply via email to