Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-02-21 Thread Guillem Jover
Hi!

On Mon, 2023-02-20 at 21:30:14 +0800, zhangdandan wrote:
> We decide to use "loongarch64-linux-gnu" as the value of the Debian loong64
> port's multiarch tuple.
> The reasons for using "loongarch64-linux-gnu" are as follows:
> 
> Firstly, we note that many of the major architectures use the -gnu style in
> Debian [3].
> 
> - amd64: x86_64-linux-gnu
> - arm64: aarch64-linux-gnu
> - riscv64: riscv64-linux-gnu
> 
> Secondly, "loongarch64-linux-gnu" is also consistent with upstream LoongArch
> gcc's latest change (replacing "loongarch64-linux-gnuf64" with
> "loongarch64-linux-gnu") [5][6] and the current revision of LoongArch
> Toolchain Conventions [7].

Ok, so then just to confirm, the support that was already in dpkg's
git and that got reverted should be fine again. If so then I'm going
to revert commit f9187c8b13478824c9eff73c92a084cc50c34cad to restore
the previous code, and then request a pre-approval from the release
team in a couple of days.

Thanks,
Guillem



Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-02-20 Thread zhangdandan

Hi maintainers,

Here are some explanatory notes on the loong64 port's multiarch tuples 
issue.


Previously, in order to be consistent with the GCC upstream and 
Toolchain Conventions, the multiarch tuple "loongarch64-linux-gnuf64" 
[1] was used for the LP64D ABI.
We then restored the multiarch tuple used by the Debian gcc package from 
"loongarch64-linux-gnu" to "loongarch64-linux-gnuf64"[2].


Unfortunately, we didn't realize that the Debian multiarch tuples 
document [3] predated the gcc multiarch tuple definitions [1].
Thanks for the feedback [4] and helmut's help, we have reconsidered the 
matter surrounding Debian's multiarch tuple definitions.


We decide to use "loongarch64-linux-gnu" as the value of the Debian 
loong64 port's multiarch tuple.

The reasons for using "loongarch64-linux-gnu" are as follows:

Firstly, we note that many of the major architectures use the -gnu style 
in Debian [3].


- amd64: x86_64-linux-gnu
- arm64: aarch64-linux-gnu
- riscv64: riscv64-linux-gnu

Secondly, "loongarch64-linux-gnu" is also consistent with upstream 
LoongArch gcc's latest change (replacing "loongarch64-linux-gnuf64" with 
"loongarch64-linux-gnu") [5][6] and the current revision of LoongArch 
Toolchain Conventions [7].


Please reconsider the loong64 patch (with "loongarch64-linux-gnu") to dpkg.

Your opinions are welcome.

[1]: 
https://github.com/gcc-mirror/gcc/commit/b44786f64019e7#diff-a9fbd3415f77b73e7a86c365707a79c6d60311ce5b81fad000a15f970b18fedfR4971

[2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027278
[3]: https://wiki.debian.org/Multiarch/Tuples
[4]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028654
[5]: https://gcc.gnu.org/pipermail/gcc-patches/2023-February/612272.html
[6]: https://github.com/gcc-mirror/gcc/commit/017849d9d88f02
[7]: 
https://loongson.github.io/LoongArch-Documentation/LoongArch-toolchain-conventions-EN.html#_gnu_target_triplets_and_multiarch_specifiers


Thanks!
Dandan Zhang



Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-02-01 Thread zhangdandan

Dear maintainers,
    Happy new year. Thank you for your reply.
We are carefully considering the Debian Multiarch Define of Loongarch64.

Thanks,
Dandan Zhang



Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-01-24 Thread Guillem Jover
On Tue, 2023-01-24 at 11:28:55 +0100, Guillem Jover wrote:
> The reasons for changing the ABI at this point in time are still not
> very clear to me (Helmut mentioned some reasons though), and the fact
> that this was submitted to the gcc package before any discussion seems
> all wrong. :/
> 
> This divergence between dpkg and at least gcc is currently breaking
> rebootstrap,

(Sorry, this should have said, "it broke rebootstrap (but is now
worked around)", thanks to Helmut for spotting that.)

> and the uncertainty of this all is currently blocking
> a pre-approval request for the pending dpkg release. So what I think
> I'm going to do is back out (revert) the loong64 support for now, and
> once this is all clarified I'm happy to reintroduce it again. I'm
> planning to do at least another release after the upcoming one before
> the Debian release, where this could be readded.
> 
> I'll be sending the pre-approval request later today.

Thanks,
Guillem



Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-01-24 Thread Guillem Jover
Hi!

On Sun, 2023-01-15 at 17:45:03 +0100, Guillem Jover wrote:
> On Sat, 2023-01-14 at 18:29:12 +0800, 张丹丹 wrote:
> > Package: dpkg
> > Version: 1.21.17
> > Severity: wishlist
> > Tags: patch
> > User: debian-de...@lists.debian.org
> > Usertags: loongarch64
>  
> > - I have added loongarch64 architecture GNU triplet to match the change in 
> > gcc-12.
> > This patch can fix problems when cross-building and ensure gcc and dpkg use 
> > matched combination.
> > Please consider the patch attached. (Reference from rabenda...@gmail.com)
> 
> Hmm, why was the triplet changed? I mean it's not been too long since
> it got added into dpkg, and supposedly backwards compatibility should
> not be much of an issue (?), but why is this really necessary?
> 
> What does the unqualified triplet stand for now, which is supposed to
> be considered the baseline?
> 
> > - The change of gcc-12 for loongarch64, please see the bleow BugID request:
> > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027278 
> 
> > - Are there any missing? Please tell me.
> 
> See above. Also the patch (if it ends up being really necessary) does
> not look entirely correct, the entries should be placed before the
> more general match. Attached the modified one which now also passes
> the test suite («make check»).

The reasons for changing the ABI at this point in time are still not
very clear to me (Helmut mentioned some reasons though), and the fact
that this was submitted to the gcc package before any discussion seems
all wrong. :/

This divergence between dpkg and at least gcc is currently breaking
rebootstrap, and the uncertainty of this all is currently blocking
a pre-approval request for the pending dpkg release. So what I think
I'm going to do is back out (revert) the loong64 support for now, and
once this is all clarified I'm happy to reintroduce it again. I'm
planning to do at least another release after the upcoming one before
the Debian release, where this could be readded.

I'll be sending the pre-approval request later today.

Thanks,
Guillem



Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-01-15 Thread Guillem Jover
On Sat, 2023-01-14 at 18:29:12 +0800, 张丹丹 wrote:
> Package: dpkg
> Version: 1.21.17
> Severity: wishlist
> Tags: patch
> User: debian-de...@lists.debian.org
> Usertags: loongarch64
 
> - I have added loongarch64 architecture GNU triplet to match the change in 
> gcc-12.
> This patch can fix problems when cross-building and ensure gcc and dpkg use 
> matched combination.
> Please consider the patch attached. (Reference from rabenda...@gmail.com)

Hmm, why was the triplet changed? I mean it's not been too long since
it got added into dpkg, and supposedly backwards compatibility should
not be much of an issue (?), but why is this really necessary?

What does the unqualified triplet stand for now, which is supposed to
be considered the baseline?

> - The change of gcc-12 for loongarch64, please see the bleow BugID request:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027278 

> - Are there any missing? Please tell me.

See above. Also the patch (if it ends up being really necessary) does
not look entirely correct, the entries should be placed before the
more general match. Attached the modified one which now also passes
the test suite («make check»).

Thanks,
Guillem
diff --git i/data/ostable w/data/ostable
index 7fd2bff08..c1f9d7a7c 100644
--- i/data/ostable
+++ w/data/ostable
@@ -24,6 +24,7 @@ eabihf-gnu-linux	linux-gnueabihf		linux[^-]*-gnueabihf
 eabi-gnu-linux		linux-gnueabi		linux[^-]*-gnueabi
 abin32-gnu-linux	linux-gnuabin32		linux[^-]*-gnuabin32
 abi64-gnu-linux		linux-gnuabi64		linux[^-]*-gnuabi64
+f64-gnu-linux		linux-gnuf64		linux[^-]*-gnuf64
 spe-gnu-linux		linux-gnuspe		linux[^-]*-gnuspe
 x32-gnu-linux		linux-gnux32		linux[^-]*-gnux32
 ilp32-gnu-linux		linux-gnu_ilp32		linux[^-]*-gnu_ilp32
diff --git i/data/tupletable w/data/tupletable
index a7a878f5b..06d2c4e7f 100644
--- i/data/tupletable
+++ w/data/tupletable
@@ -27,6 +27,7 @@ base-musl-linux-		musl-linux-
 ilp32-gnu-linux-arm64		arm64ilp32
 eabihf-gnu-linux-arm		armhf
 eabi-gnu-linux-arm		armel
+f64-gnu-linux-loong64		loong64
 abin32-gnu-linux-mips64r6el	mipsn32r6el
 abin32-gnu-linux-mips64r6	mipsn32r6
 abin32-gnu-linux-mips64el	mipsn32el
diff --git i/scripts/t/Dpkg_Arch.t w/scripts/t/Dpkg_Arch.t
index 59855dfa4..f9e080f4e 100644
--- i/scripts/t/Dpkg_Arch.t
+++ w/scripts/t/Dpkg_Arch.t
@@ -16,7 +16,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 18900;
+use Test::More tests => 18907;
 
 use_ok('Dpkg::Arch', qw(debarch_to_debtuple debarch_to_multiarch
 debarch_eq debarch_is debarch_is_wildcard


Bug#1028654: dpkg: add loongarch64 architecture GNU triplet

2023-01-14 Thread 张丹丹
Package: dpkg
Version: 1.21.17
Severity: wishlist
Tags: patch
User: debian-de...@lists.debian.org
Usertags: loongarch64

Hi maintainers,

- I have added loongarch64 architecture GNU triplet to match the change in 
gcc-12.
This patch can fix problems when cross-building and ensure gcc and dpkg use 
matched combination.
Please consider the patch attached. (Reference from rabenda...@gmail.com)

- The change of gcc-12 for loongarch64, please see the bleow BugID request:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027278 

- Are there any missing? Please tell me.

Thanks!
Dandan Zhang


dpkg-1.21.17-add-loongarch64-gnu-triplet.patch
Description: Binary data