qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm


From: no-reply
Subject: Re: [Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT64)
Date: Tue, 13 Aug 2019 06:19:34 -0700 (PDT)

Patchew URL: https://patchew.org/QEMU/address@hidden/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH  v3 00/13] softfloat updates (include tweaks, rm 
LIT64)
Message-id: address@hidden
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
   968ff69..02db1be  master     -> master
 - [tag update]      patchew/address@hidden -> patchew/address@hidden
 - [tag update]      patchew/address@hidden -> patchew/address@hidden
 * [new tag]         patchew/address@hidden -> patchew/address@hidden
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for 
path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) 
registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 
'roms/SLOF'
Submodule 'roms/edk2' (https://git.qemu.org/git/edk2.git) registered for path 
'roms/edk2'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 
'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered 
for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) 
registered for path 'roms/openhackware'
Submodule 'roms/opensbi' (https://git.qemu.org/git/opensbi.git) registered for 
path 'roms/opensbi'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) 
registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for 
path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://git.qemu.org/git/seabios-hppa.git) 
registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for 
path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for 
path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for 
path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) 
registered for path 'roms/u-boot-sam460ex'
Submodule 'slirp' (https://git.qemu.org/git/libslirp.git) registered for path 
'slirp'
Submodule 'tests/fp/berkeley-softfloat-3' 
(https://git.qemu.org/git/berkeley-softfloat-3.git) registered for path 
'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' 
(https://git.qemu.org/git/berkeley-testfloat-3.git) registered for path 
'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) 
registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out 
'22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out 
'90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 
'ba1ab360eebe6338bb8d7d83a9220ccf7e213af3'
Cloning into 'roms/edk2'...
Submodule path 'roms/edk2': checked out 
'20d2e5a125e34fc8501026613a71549b2a1a3e54'
Submodule 'SoftFloat' (https://github.com/ucb-bar/berkeley-softfloat-3.git) 
registered for path 'ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3'
Submodule 'CryptoPkg/Library/OpensslLib/openssl' 
(https://github.com/openssl/openssl) registered for path 
'CryptoPkg/Library/OpensslLib/openssl'
Cloning into 'ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3'...
Submodule path 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3': 
checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'CryptoPkg/Library/OpensslLib/openssl'...
Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl': checked out 
'50eaac9f3337667259de725451f201e784599687'
Submodule 'boringssl' (https://boringssl.googlesource.com/boringssl) registered 
for path 'boringssl'
Submodule 'krb5' (https://github.com/krb5/krb5) registered for path 'krb5'
Submodule 'pyca.cryptography' (https://github.com/pyca/cryptography.git) 
registered for path 'pyca-cryptography'
Cloning into 'boringssl'...
Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl': 
checked out '2070f8ad9151dc8f3a73bffaa146b5e6937a583f'
Cloning into 'krb5'...
Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5': checked 
out 'b9ad6c49505c96a088326b62a52568e3484f2168'
Cloning into 'pyca-cryptography'...
Submodule path 
'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography': checked out 
'09403100de2f6f1cdd0d484dcb8e620f1c335c8f'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 
'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out 
'c79e0ecb84f4f1ee3f73f521622e264edd1bf174'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 
'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/opensbi'...
Submodule path 'roms/opensbi': checked out 
'ce228ee0919deb9957192d723eecc8aaae2697c6'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out 
'bf0e13698872450164fa7040da36a95d2d4b326f'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 
'a5cab58e9a3fb6e168aba919c5669bea406573b4'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out 
'0f4fe84658165e96ce35870fd19fc634e182e77b'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 
'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 
'261ca8e779e5138869a45f174caa49be6a274501'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 
'd3689267f92c5956e09cc7d1baa4700141662bff'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out 
'60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'slirp'...
Submodule path 'slirp': checked out '126c04acbabd7ad32c2b018fe10dfac2a3bc1210'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 
'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out 
'5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
7063801 targets (various): use softfloat-helpers.h where we can
74065c6 target/riscv: rationalise softfloat includes
d4059b7 target/mips: rationalise softfloat includes
41534bb fpu: rename softfloat-specialize.h -> .inc.c
c594bca fpu: make softfloat-macros "self-contained"
78228a5 fpu: move inline helpers into a separate header
ef5083f fpu: remove the LIT64 macro
441d110 target/m68k: replace LIT64 with UINT64_C macros
434b949 fpu: replace LIT64 with UINT64_C macros
bf6b8fe fpu: use min/max values from stdint.h for integral overflow
1523c3b fpu: optimise float[16/32/64]_squash_denormal (HACK?)
3cbf2ff fpu: convert float[16/32/64]_squash_denormal to new modern style
8b4729a fpu: replace LIT64 usage with UINT64_C for specialize constants

=== OUTPUT BEGIN ===
1/13 Checking commit 8b4729ae905b (fpu: replace LIT64 usage with UINT64_C for 
specialize constants)
2/13 Checking commit 3cbf2ff0d926 (fpu: convert float[16/32/64]_squash_denormal 
to new modern style)
WARNING: Block comments use a leading /* on a separate line
#46: FILE: fpu/softfloat.c:3292:
+/*----------------------------------------------------------------------------

WARNING: Block comments use * on subsequent lines
#47: FILE: fpu/softfloat.c:3293:
+/*----------------------------------------------------------------------------
+| If `a' is denormal and we are in flush-to-zero mode then set the

WARNING: Block comments use a trailing */ on a separate line
#49: FILE: fpu/softfloat.c:3295:
+*----------------------------------------------------------------------------*/

total: 0 errors, 3 warnings, 140 lines checked

Patch 2/13 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/13 Checking commit 1523c3bdb4c0 (fpu: optimise 
float[16/32/64]_squash_denormal (HACK?))
4/13 Checking commit bf6b8fe7eb8a (fpu: use min/max values from stdint.h for 
integral overflow)
5/13 Checking commit 434b9493c9d8 (fpu: replace LIT64 with UINT64_C macros)
ERROR: space prohibited after that open parenthesis '('
#41: FILE: fpu/softfloat.c:3761:
+                || ( zSig + roundIncrement < UINT64_C(0x8000000000000000) );

ERROR: space prohibited before that close parenthesis ')'
#41: FILE: fpu/softfloat.c:3761:
+                || ( zSig + roundIncrement < UINT64_C(0x8000000000000000) );

ERROR: space prohibited after that open parenthesis '('
#76: FILE: fpu/softfloat.c:3960:
+                  && ( zSig0 == UINT64_C(0xFFFFFFFFFFFFFFFF) )

ERROR: space prohibited before that close parenthesis ')'
#76: FILE: fpu/softfloat.c:3960:
+                  && ( zSig0 == UINT64_C(0xFFFFFFFFFFFFFFFF) )

ERROR: space prohibited after that open parenthesis '('
#85: FILE: fpu/softfloat.c:3983:
+                || ( zSig0 < UINT64_C(0xFFFFFFFFFFFFFFFF) );

ERROR: space prohibited before that close parenthesis ')'
#85: FILE: fpu/softfloat.c:3983:
+                || ( zSig0 < UINT64_C(0xFFFFFFFFFFFFFFFF) );

ERROR: space prohibited after that open parenthesis '('
#172: FILE: fpu/softfloat.c:5178:
+        if ( aSig & UINT64_C(0x0020000000000000) ) {

ERROR: space prohibited before that close parenthesis ')'
#172: FILE: fpu/softfloat.c:5178:
+        if ( aSig & UINT64_C(0x0020000000000000) ) {

ERROR: space prohibited after that open parenthesis '('
#190: FILE: fpu/softfloat.c:5727:
+                    packFloatx80( aSign, 0x3FFF, UINT64_C(0x8000000000000000));

WARNING: line over 80 characters
#196: FILE: fpu/softfloat.c:5732:
+                return packFloatx80(aSign, 0x3FFF, 
UINT64_C(0x8000000000000000));

ERROR: space prohibited after that open parenthesis '('
#203: FILE: fpu/softfloat.c:5738:
+                      packFloatx80( 1, 0x3FFF, UINT64_C(0x8000000000000000))

ERROR: space prohibited after that open parenthesis '('
#209: FILE: fpu/softfloat.c:5743:
+                : packFloatx80( 0, 0x3FFF, UINT64_C(0x8000000000000000));

ERROR: space prohibited after that open parenthesis '('
#245: FILE: fpu/softfloat.c:6276:
+    if ( ( zSig1 & UINT64_C(0x3FFFFFFFFFFFFFFF) ) <= 5 ) {

ERROR: space prohibited before that close parenthesis ')'
#245: FILE: fpu/softfloat.c:6276:
+    if ( ( zSig1 & UINT64_C(0x3FFFFFFFFFFFFFFF) ) <= 5 ) {

ERROR: space prohibited after that open parenthesis '('
#254: FILE: fpu/softfloat.c:6575:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: space prohibited before that close parenthesis ')'
#254: FILE: fpu/softfloat.c:6575:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: trailing statements should be on next line
#254: FILE: fpu/softfloat.c:6575:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: braces {} are necessary for all arms of this statement
#254: FILE: fpu/softfloat.c:6575:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);
[...]

ERROR: space prohibited after that open parenthesis '('
#272: FILE: fpu/softfloat.c:6653:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: space prohibited before that close parenthesis ')'
#272: FILE: fpu/softfloat.c:6653:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: trailing statements should be on next line
#272: FILE: fpu/softfloat.c:6653:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: braces {} are necessary for all arms of this statement
#272: FILE: fpu/softfloat.c:6653:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);
[...]

ERROR: space prohibited after that open parenthesis '('
#280: FILE: fpu/softfloat.c:6660:
+                      && ( aSig1 || ( aSig0 != UINT64_C(0x0001000000000000) ) )

ERROR: space prohibited before that close parenthesis ')'
#280: FILE: fpu/softfloat.c:6660:
+                      && ( aSig1 || ( aSig0 != UINT64_C(0x0001000000000000) ) )

ERROR: space prohibited after that open parenthesis '('
#289: FILE: fpu/softfloat.c:6697:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: space prohibited before that close parenthesis ')'
#289: FILE: fpu/softfloat.c:6697:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: trailing statements should be on next line
#289: FILE: fpu/softfloat.c:6697:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);

ERROR: braces {} are necessary for all arms of this statement
#289: FILE: fpu/softfloat.c:6697:
+    if ( aExp ) aSig0 |= UINT64_C(0x0001000000000000);
[...]

ERROR: space prohibited after that open parenthesis '('
#297: FILE: fpu/softfloat.c:6702:
+            if (    ( a.high == UINT64_C(0xC03E000000000000) )

ERROR: space prohibited before that close parenthesis ')'
#297: FILE: fpu/softfloat.c:6702:
+            if (    ( a.high == UINT64_C(0xC03E000000000000) )

ERROR: space prohibited after that open parenthesis '('
#298: FILE: fpu/softfloat.c:6703:
+                 && ( aSig1 < UINT64_C(0x0002000000000000) ) ) {

ERROR: space prohibited before that close parenthesis ')'
#298: FILE: fpu/softfloat.c:6703:
+                 && ( aSig1 < UINT64_C(0x0002000000000000) ) ) {

ERROR: space prohibited after that open parenthesis '('
#352: FILE: fpu/softfloat.c:7196:
+    if ( zSig0 < UINT64_C(0x0002000000000000) ) goto roundAndPack;

ERROR: space prohibited before that close parenthesis ')'
#352: FILE: fpu/softfloat.c:7196:
+    if ( zSig0 < UINT64_C(0x0002000000000000) ) goto roundAndPack;

ERROR: trailing statements should be on next line
#352: FILE: fpu/softfloat.c:7196:
+    if ( zSig0 < UINT64_C(0x0002000000000000) ) goto roundAndPack;

ERROR: braces {} are necessary for all arms of this statement
#352: FILE: fpu/softfloat.c:7196:
+    if ( zSig0 < UINT64_C(0x0002000000000000) ) goto roundAndPack;
[...]

ERROR: space prohibited after that open parenthesis '('
#393: FILE: fpu/softfloat.c:7390:
+    if (UINT64_C( 0x0002000000000000) <= zSig0 ) {

ERROR: space prohibited before that close parenthesis ')'
#393: FILE: fpu/softfloat.c:7390:
+    if (UINT64_C( 0x0002000000000000) <= zSig0 ) {

ERROR: space prohibited before that close parenthesis ')'
#402: FILE: fpu/softfloat.c:7457:
+        aSig0 | UINT64_C(0x0001000000000000), aSig1, 15, &aSig0, &aSig1 );

ERROR: space prohibited before that close parenthesis ')'
#405: FILE: fpu/softfloat.c:7459:
+        bSig0 | UINT64_C(0x0001000000000000), bSig1, 15, &bSig0, &bSig1 );

ERROR: space prohibited before that close parenthesis ')'
#422: FILE: fpu/softfloat.c:7542:
+        bSig0 | UINT64_C(0x0001000000000000), bSig1, 15, &bSig0, &bSig1 );

ERROR: space prohibited after that open parenthesis '('
#453: FILE: include/fpu/softfloat-macros.h:619:
+    if ( b <= a0 ) return UINT64_C(0xFFFFFFFFFFFFFFFF);

ERROR: space prohibited before that close parenthesis ')'
#453: FILE: include/fpu/softfloat-macros.h:619:
+    if ( b <= a0 ) return UINT64_C(0xFFFFFFFFFFFFFFFF);

ERROR: trailing statements should be on next line
#453: FILE: include/fpu/softfloat-macros.h:619:
+    if ( b <= a0 ) return UINT64_C(0xFFFFFFFFFFFFFFFF);

ERROR: braces {} are necessary for all arms of this statement
#453: FILE: include/fpu/softfloat-macros.h:619:
+    if ( b <= a0 ) return UINT64_C(0xFFFFFFFFFFFFFFFF);
[...]

ERROR: spaces required around that '<<' (ctx:VxV)
#456: FILE: include/fpu/softfloat-macros.h:621:
+    z = ( b0<<32 <= a0 ) ? UINT64_C(0xFFFFFFFF00000000) : ( a0 / b0 )<<32;
             ^

ERROR: spaces required around that '<<' (ctx:VxV)
#456: FILE: include/fpu/softfloat-macros.h:621:
+    z = ( b0<<32 <= a0 ) ? UINT64_C(0xFFFFFFFF00000000) : ( a0 / b0 )<<32;
                                                                      ^

ERROR: space prohibited after that open parenthesis '('
#456: FILE: include/fpu/softfloat-macros.h:621:
+    z = ( b0<<32 <= a0 ) ? UINT64_C(0xFFFFFFFF00000000) : ( a0 / b0 )<<32;

ERROR: space prohibited before that close parenthesis ')'
#456: FILE: include/fpu/softfloat-macros.h:621:
+    z = ( b0<<32 <= a0 ) ? UINT64_C(0xFFFFFFFF00000000) : ( a0 / b0 )<<32;

total: 48 errors, 1 warnings, 405 lines checked

Patch 5/13 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/13 Checking commit 441d11031283 (target/m68k: replace LIT64 with UINT64_C 
macros)
WARNING: line over 80 characters
#49: FILE: target/m68k/softfloat.c:376:
+        fSig = (aSig & UINT64_C(0xFE00000000000000)) | 
UINT64_C(0x0100000000000000);

WARNING: line over 80 characters
#67: FILE: target/m68k/softfloat.c:434:
+        fSig = (aSig & UINT64_C(0xFE00000000000000)) | 
UINT64_C(0x0100000000000000);

WARNING: line over 80 characters
#76: FILE: target/m68k/softfloat.c:565:
+        fSig = (aSig & UINT64_C(0xFE00000000000000)) | 
UINT64_C(0x0100000000000000);

WARNING: line over 80 characters
#103: FILE: target/m68k/softfloat.c:781:
+        fp1 = packFloatx80(0, 0x3FFF, UINT64_C(0xB8AA3B295C17F0BC)); /* INV_L2 
*/

WARNING: line over 80 characters
#158: FILE: target/m68k/softfloat.c:1353:
+                                    UINT64_C(0xA2F9836E4E44152A)); /* INVTWOPI 
*/

WARNING: line over 80 characters
#227: FILE: target/m68k/softfloat.c:1563:
+                                    UINT64_C(0xA2F9836E4E44152A)); /* INVTWOPI 
*/

WARNING: line over 80 characters
#280: FILE: target/m68k/softfloat.c:1802:
+                                    UINT64_C(0xA2F9836E4E44152A)); /* INVTWOPI 
*/

total: 0 errors, 7 warnings, 298 lines checked

Patch 6/13 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/13 Checking commit ef5083f185d0 (fpu: remove the LIT64 macro)
8/13 Checking commit 78228a5adc13 (fpu: move inline helpers into a separate 
header)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#19: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#46: FILE: include/fpu/softfloat-helpers.h:23:
+/*
+===============================================================================

total: 0 errors, 2 warnings, 201 lines checked

Patch 8/13 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
9/13 Checking commit c594bca84c66 (fpu: make softfloat-macros "self-contained")
10/13 Checking commit 41534bbd6e70 (fpu: rename softfloat-specialize.h -> 
.inc.c)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#19: 
rename from fpu/softfloat-specialize.h

total: 0 errors, 1 warnings, 8 lines checked

Patch 10/13 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
11/13 Checking commit d4059b754d5d (target/mips: rationalise softfloat includes)
12/13 Checking commit 74065c61cac3 (target/riscv: rationalise softfloat 
includes)
13/13 Checking commit 7063801ac57b (targets (various): use softfloat-helpers.h 
where we can)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/address@hidden/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]