Re: Bug#1135587: screen: screen no longer works on big-endian systems

John Paul Adrian Glaubitz <[email protected]> Mon, 04 May 2026 12:43:36 +0200
Newsgroups gmane.linux.debian.ports.s390,gmane.linux.debian.ports.powerpc,gmane.linux.debian.ports.sparc
Message-ID <80f9b3d3d0053f825e30d66dfe7931048b660cbf.camel@physik.fu-berlin.de>
--=-4HaZXu7Jl+pGekvmMzvn
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Control: tags -1 +patch
Control: tags -1 +upstream

Hi Pranav,

On Mon, 2026-05-04 at 12:11 +0200, John Paul Adrian Glaubitz wrote:
> Hi Pranav,
>=20
> On Mon, 2026-05-04 at 09:46 +0000, Pranav P wrote:
> > There seems to be a fix for this here in https://savannah.gnu.org/bugs/=
?67607
> > (https://cgit.git.savannah.gnu.org/cgit/screen.git/diff/?h=3Dscreen-v5&=
id=3Dccd0b27504707e4f3099f0b9fd7a89489c6973fb)
> >=20
> > I have tested this patch on my s390x machine and it does seem to work f=
ine.
>=20
> Thanks for the heads-up! I'll test it on both big-endian PowerPC and SPAR=
C.

I can confirm that the attached patch extracted from the commit above fixes=
 the problem.

Adrian

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

--=-4HaZXu7Jl+pGekvmMzvn
Content-Disposition: attachment; filename="screen-fix-input-on-big-endian.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="screen-fix-input-on-big-endian.patch";
	charset="ISO-8859-1"

RnJvbSBjY2QwYjI3NTA0NzA3ZTRmMzA5OWYwYjlmZDdhODk0ODljNjk3M2ZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgTmF1bW92IDxhbGV4YW5kZXJfbmF1bW92QG9w
ZW5zdXNlLm9yZz4KRGF0ZTogU2F0LCAzIEphbiAyMDI2IDE3OjI2OjI3ICswMTAwClN1YmplY3Q6
IEZpeDogdW5hYmxlIHRvIHR5cGUgaW4gc2NyZWVuIG9uIGJpZy1lbmRpYW4gc3lzdGVtcwpNSU1F
LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29u
dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhhbmtzIHRvIFBldHIgU3VtYmVyYSA8cGV0
ci5zdW1iZXJhQG9yYWNsZS5jb20+CmFuZCBEYW4gSG9yw6FrIDxkYW5AZGFubnkuY3o+CgpidWcj
Njc2MDcKLS0tCiBzcmMvdGVsbmV0LmMgfCAgMiArLQogc3JjL3RlbG5ldC5oIHwgIDIgKy0KIHNy
Yy93aW5kb3cuYyB8IDM4ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBz
cmMvd2luZG93LmggfCAgNiArKystLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygr
KSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3RlbG5ldC5jIGIvc3JjL3RlbG5l
dC5jCmluZGV4IDY5ZDc1ZWUuLmM3MGUyZGEgMTAwNjQ0Ci0tLSBhL3NyYy90ZWxuZXQuYworKysg
Yi9zcmMvdGVsbmV0LmMKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFRlbFByb2Nlc3NMaW5lKGNo
YXIgKipidWZwcCwgc2l6ZV90ICpsZW5wKQogCSpsZW5wID0gMDsKIH0KIAotaW50IERvVGVsbmV0
KGNoYXIgKmJ1Ziwgc2l6ZV90ICpsZW5wLCBpbnQgZikKK2ludCBEb1RlbG5ldChjaGFyICpidWYs
IGludCAqbGVucCwgaW50IGYpCiB7CiAJaW50IGVjaG8gPSAhZm9yZS0+d190ZWxyb3B0c1tUT19F
Q0hPXTsKIAlpbnQgY21vZGUgPSBmb3JlLT53X3RlbHJvcHRzW1RPX1NHQV07CmRpZmYgLS1naXQg
YS9zcmMvdGVsbmV0LmggYi9zcmMvdGVsbmV0LmgKaW5kZXggZmVmY2MwYS4uNzkyYTkzYSAxMDA2
NDQKLS0tIGEvc3JjL3RlbG5ldC5oCisrKyBiL3NyYy90ZWxuZXQuaApAQCAtOSw3ICs5LDcgQEAK
IGludCBUZWxPcGVuQW5kQ29ubmVjdChXaW5kb3cgKik7CiBpbnQgVGVsSXNsaW5lKFdpbmRvdyAq
KTsKIHZvaWQgVGVsUHJvY2Vzc0xpbmUoY2hhciAqKiwgc2l6ZV90ICopOwotaW50IERvVGVsbmV0
KGNoYXIgKiwgc2l6ZV90ICosIGludCk7CitpbnQgRG9UZWxuZXQoY2hhciAqLCBpbnQgKiwgaW50
KTsKIGludCBUZWxJbihXaW5kb3cgKiwgY2hhciAqLCBzaXplX3QsIGludCk7CiB2b2lkIFRlbEJy
ZWFrKFdpbmRvdyAqKTsKIHZvaWQgVGVsV2luZG93U2l6ZShXaW5kb3cgKik7CmRpZmYgLS1naXQg
YS9zcmMvd2luZG93LmMgYi9zcmMvd2luZG93LmMKaW5kZXggY2VlMDZmZC4uNjhmYzAwNiAxMDA2
NDQKLS0tIGEvc3JjL3dpbmRvdy5jCisrKyBiL3NyYy93aW5kb3cuYwpAQCAtNjEsNyArNjEsNyBA
QCBzdGF0aWMgdm9pZCBXaW5SZWRpc3BsYXlMaW5lKGludCwgaW50LCBpbnQsIGludCk7CiBzdGF0
aWMgdm9pZCBXaW5DbGVhckxpbmUoaW50LCBpbnQsIGludCwgaW50KTsKIHN0YXRpYyBpbnQgV2lu
UmVzaXplKGludCwgaW50KTsKIHN0YXRpYyB2b2lkIFdpblJlc3RvcmUodm9pZCk7Ci1zdGF0aWMg
aW50IERvQXV0b2xmKGNoYXIgKiwgc2l6ZV90ICosIGludCk7CitzdGF0aWMgaW50IERvQXV0b2xm
KGNoYXIgKiwgaW50ICosIGludCk7CiBzdGF0aWMgdm9pZCBab21iaWVQcm9jZXNzKGNoYXIgKios
IHNpemVfdCAqKTsKIHN0YXRpYyB2b2lkIHdpbl9yZWFkZXZfZm4oRXZlbnQgKiwgdm9pZCAqKTsK
IHN0YXRpYyB2b2lkIHdpbl93cml0ZWV2X2ZuKEV2ZW50ICosIHZvaWQgKik7CkBAIC03NCw5ICs3
NCw5IEBAIHN0YXRpYyB2b2lkIHdpbl9zaWxlbmNlZXZfZm4oRXZlbnQgKiwgdm9pZCAqKTsKIHN0
YXRpYyB2b2lkIHdpbl9kZXN0cm95ZXZfZm4oRXZlbnQgKiwgdm9pZCAqKTsKIAogc3RhdGljIGlu
dCBGb3JrV2luZG93KFdpbmRvdyAqLCBjaGFyICoqLCBjaGFyICopOwotc3RhdGljIHZvaWQgem1v
ZGVtX2ZvdW5kKFdpbmRvdyAqLCBpbnQsIGNoYXIgKiwgc2l6ZV90KTsKK3N0YXRpYyB2b2lkIHpt
b2RlbV9mb3VuZChXaW5kb3cgKiwgaW50LCBjaGFyICosIGludCk7CiBzdGF0aWMgdm9pZCB6bW9k
ZW1GaW4oY2hhciAqLCBzaXplX3QsIHZvaWQgKik7Ci1zdGF0aWMgaW50IHptb2RlbV9wYXJzZShX
aW5kb3cgKiwgY2hhciAqLCBzaXplX3QpOworc3RhdGljIGludCB6bW9kZW1fcGFyc2UoV2luZG93
ICosIGNoYXIgKiwgaW50KTsKIAogYm9vbCBWZXJib3NlQ3JlYXRlID0gZmFsc2U7CQkvKiBYWFgg
bW92ZSB0aGlzIHRvIHVzZXIuaCAqLwogCkBAIC0xOTEsMTAgKzE5MSwxMCBAQCBjb25zdCBzdHJ1
Y3QgTGF5RnVuY3MgV2luTGYgPSB7CiAJTlVMTAogfTsKIAotc3RhdGljIGludCBEb0F1dG9sZihj
aGFyICpidWYsIHNpemVfdCAqbGVucCwgaW50IGZyKQorc3RhdGljIGludCBEb0F1dG9sZihjaGFy
ICpidWYsIGludCAqbGVucCwgaW50IGZyKQogewogCWNoYXIgKnA7Ci0Jc2l6ZV90IGxlbiA9ICps
ZW5wOworCWludCBsZW4gPSAqbGVucDsKIAlpbnQgdHJ1bmMgPSAwOwogCiAJZm9yIChwID0gYnVm
OyBsZW4gPiAwOyBwKyssIGxlbi0tKSB7CkBAIC0yMTUsNyArMjE1LDcgQEAgc3RhdGljIGludCBE
b0F1dG9sZihjaGFyICpidWYsIHNpemVfdCAqbGVucCwgaW50IGZyKQogCiBzdGF0aWMgdm9pZCBX
aW5Qcm9jZXNzKGNoYXIgKipidWZwcCwgc2l6ZV90ICpsZW5wKQogewotCXNpemVfdCBsMiA9IDAs
IGYsICppbGVuLCBsID0gKmxlbnAsIHRydW5jOworCWludCBsMiA9IDAsIGYsICppbGVuLCBsID0g
KmxlbnAsIHRydW5jOwogCWNoYXIgKmlidWY7CiAKIAlmb3JlID0gKFdpbmRvdyAqKWZsYXllci0+
bF9kYXRhOwpAQCAtMjkxLDcgKzI5MSw3IEBAIHN0YXRpYyB2b2lkIFdpblByb2Nlc3MoY2hhciAq
KmJ1ZnBwLCBzaXplX3QgKmxlbnApCiAKIHN0YXRpYyB2b2lkIFpvbWJpZVByb2Nlc3MoY2hhciAq
KmJ1ZnBwLCBzaXplX3QgKmxlbnApCiB7Ci0Jc2l6ZV90IGwgPSAqbGVucDsKKwlpbnQgbCA9ICps
ZW5wOwogCWNoYXIgKmJ1ZiA9ICpidWZwcCwgYjFbMTBdLCBiMlsxMF07CiAKIAlmb3JlID0gKFdp
bmRvdyAqKWZsYXllci0+bF9kYXRhOwpAQCAtNjk5LDcgKzY5OSw3IEBAIGludCBNYWtlV2luZG93
KHN0cnVjdCBOZXdXaW5kb3cgKm5ld3dpbikKIAlwLT53X3JlYWRldi5kYXRhID0gcC0+d193cml0
ZWV2LmRhdGEgPSAoY2hhciAqKXA7CiAJcC0+d19yZWFkZXYuaGFuZGxlciA9IHdpbl9yZWFkZXZf
Zm47CiAJcC0+d193cml0ZWV2LmhhbmRsZXIgPSB3aW5fd3JpdGVldl9mbjsKLQlwLT53X3dyaXRl
ZXYuY29uZHBvcyA9IChpbnQgKikmcC0+d19pbmxlbjsKKwlwLT53X3dyaXRlZXYuY29uZHBvcyA9
ICZwLT53X2lubGVuOwogCWV2ZW5xKCZwLT53X3JlYWRldik7CiAJZXZlbnEoJnAtPndfd3JpdGVl
dik7CiAJcC0+d19wYXN0ZXIucGFfc2xvd2V2LnR5cGUgPSBFVl9USU1FT1VUOwpAQCAtMTM0NCw3
ICsxMzQ0LDcgQEAgaW50IHdpbmV4ZWMoY2hhciAqKmF2KQogCXB3aW4tPnBfcmVhZGV2LmRhdGEg
PSBwd2luLT5wX3dyaXRlZXYuZGF0YSA9IChjaGFyICopdzsKIAlwd2luLT5wX3JlYWRldi5oYW5k
bGVyID0gcHNldV9yZWFkZXZfZm47CiAJcHdpbi0+cF93cml0ZWV2LmhhbmRsZXIgPSBwc2V1X3dy
aXRlZXZfZm47Ci0JcHdpbi0+cF93cml0ZWV2LmNvbmRwb3MgPSAoaW50ICopJnB3aW4tPnBfaW5s
ZW47CisJcHdpbi0+cF93cml0ZWV2LmNvbmRwb3MgPSAmcHdpbi0+cF9pbmxlbjsKIAlpZiAocHdp
bi0+cF9mZHBhdCAmIChGX1BGUk9OVCA8PCBGX1BTSElGVCAqIDIgfCBGX1BGUk9OVCA8PCBGX1BT
SElGVCkpCiAJCWV2ZW5xKCZwd2luLT5wX3JlYWRldik7CiAJZXZlbnEoJnB3aW4tPnBfd3JpdGVl
dik7CkBAIC0xMzc4LDcgKzEzNzgsNyBAQCB2b2lkIEZyZWVQc2V1ZG93aW4oV2luZG93ICp3KQog
CX0KIAlldmRlcSgmcHdpbi0+cF9yZWFkZXYpOwogCWV2ZGVxKCZwd2luLT5wX3dyaXRlZXYpOwot
CWlmICh3LT53X3JlYWRldi5jb25kbmVnID09IChpbnQgKikmcHdpbi0+cF9pbmxlbikKKwlpZiAo
dy0+d19yZWFkZXYuY29uZG5lZyA9PSAmcHdpbi0+cF9pbmxlbikKIAkJdy0+d19yZWFkZXYuY29u
ZHBvcyA9IHctPndfcmVhZGV2LmNvbmRuZWcgPSBOVUxMOwogCWV2ZW5xKCZ3LT53X3JlYWRldik7
CiAJZnJlZSgoY2hhciAqKXB3aW4pOwpAQCAtMTQ4NCw3ICsxNDg0LDcgQEAgc3RhdGljIHZvaWQg
d2luX3JlYWRldl9mbihFdmVudCAqZXZlbnQsIHZvaWQgKmRhdGEpCiAJCXNpemUgPSBJT1NJWkUg
LSBwLT53X3B3aW4tPnBfaW5sZW47CiAJCWlmIChzaXplIDw9IDApIHsKIAkJCWV2ZW50LT5jb25k
cG9zID0gJmNvbnN0X0lPU0laRTsKLQkJCWV2ZW50LT5jb25kbmVnID0gKGludCAqKSZwLT53X3B3
aW4tPnBfaW5sZW47CisJCQlldmVudC0+Y29uZG5lZyA9ICZwLT53X3B3aW4tPnBfaW5sZW47CiAJ
CQlyZXR1cm47CiAJCX0KIAl9CkBAIC0xNTYzLDcgKzE1NjMsNyBAQCBzdGF0aWMgdm9pZCB3aW5f
cmVzdXJyZWN0X3pvbWJpZV9mbihFdmVudCAqZXZlbnQsIHZvaWQgKmRhdGEpCiBzdGF0aWMgdm9p
ZCB3aW5fd3JpdGVldl9mbihFdmVudCAqZXZlbnQsIHZvaWQgKmRhdGEpCiB7CiAJV2luZG93ICpw
ID0gKFdpbmRvdyAqKWRhdGE7Ci0Jc2l6ZV90IGxlbjsKKwlpbnQgbGVuOwogCWlmIChwLT53X2lu
bGVuKSB7CiAJCWlmICgobGVuID0gd3JpdGUoZXZlbnQtPmZkLCBwLT53X2luYnVmLCBwLT53X2lu
bGVuKSkgPD0gMCkKIAkJCWxlbiA9IHAtPndfaW5sZW47CS8qIGRlYWQgd2luZG93ICovCkBAIC0x
NjAwLDcgKzE2MDAsNyBAQCBzdGF0aWMgdm9pZCBwc2V1X3JlYWRldl9mbihFdmVudCAqZXZlbnQs
IHZvaWQgKmRhdGEpCiAJCXNpemUgPSBJT1NJWkUgLSBwLT53X2lubGVuOwogCQlpZiAoc2l6ZSA8
PSAwKSB7CiAJCQlldmVudC0+Y29uZHBvcyA9ICZjb25zdF9JT1NJWkU7Ci0JCQlldmVudC0+Y29u
ZG5lZyA9IChpbnQgKikmcC0+d19pbmxlbjsKKwkJCWV2ZW50LT5jb25kbmVnID0gJnAtPndfaW5s
ZW47CiAJCQlyZXR1cm47CiAJCX0KIAl9CkBAIC0xNjQzLDcgKzE2NDMsNyBAQCBzdGF0aWMgdm9p
ZCBwc2V1X3dyaXRlZXZfZm4oRXZlbnQgKmV2ZW50LCB2b2lkICpkYXRhKQogewogCVdpbmRvdyAq
cCA9IChXaW5kb3cgKilkYXRhOwogCXN0cnVjdCBwc2V1ZG93aW4gKnB3ID0gcC0+d19wd2luOwot
CXNpemVfdCBsZW47CisJaW50IGxlbjsKIAogCWlmIChwdy0+cF9pbmxlbiA9PSAwKQogCQlyZXR1
cm47CkBAIC0xNjgzLDEwICsxNjgzLDEwIEBAIHN0YXRpYyB2b2lkIHdpbl9kZXN0cm95ZXZfZm4o
RXZlbnQgKmV2ZW50LCB2b2lkICpkYXRhKQogCVdpbmRvd0RpZWQocCwgcC0+d19leGl0c3RhdHVz
LCAxKTsKIH0KIAotc3RhdGljIGludCB6bW9kZW1fcGFyc2UoV2luZG93ICpwLCBjaGFyICpicCwg
c2l6ZV90IGxlbikKK3N0YXRpYyBpbnQgem1vZGVtX3BhcnNlKFdpbmRvdyAqcCwgY2hhciAqYnAs
IGludCBsZW4pCiB7CiAJY2hhciAqYjIgPSBicDsKLQlmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxl
bjsgaSsrLCBiMisrKSB7CisJZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47IGkrKywgYjIrKykgewog
CQlpZiAocC0+d196YXV0byA9PSAwKSB7CiAJCQlmb3IgKDsgaSA8IGxlbjsgaSsrLCBiMisrKQog
CQkJCWlmICgqYjIgPT0gMDMwKQpAQCAtMTc1NiwxNCArMTc1NiwxNCBAQCBzdGF0aWMgdm9pZCB6
bW9kZW1GaW4oY2hhciAqYnVmLCBzaXplX3QgbGVuLCB2b2lkICpkYXRhKQogCX0KIH0KIAotc3Rh
dGljIHZvaWQgem1vZGVtX2ZvdW5kKFdpbmRvdyAqcCwgaW50IHNlbmQsIGNoYXIgKmJwLCBzaXpl
X3QgbGVuKQorc3RhdGljIHZvaWQgem1vZGVtX2ZvdW5kKFdpbmRvdyAqcCwgaW50IHNlbmQsIGNo
YXIgKmJwLCBpbnQgbGVuKQogewogCWNoYXIgKnM7CiAJc2l6ZV90IG47CiAKIAkvKiBjaGVjayBm
b3IgYWJvcnQgc2VxdWVuY2UgKi8KIAluID0gMDsKLQlmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxl
bjsgaSsrKQorCWZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyBpKyspCiAJCWlmIChicFtpXSAhPSAw
MzApCiAJCQluID0gMDsKIAkJZWxzZSBpZiAoKytuID4gNCkKQEAgLTE3OTIsNyArMTc5Miw3IEBA
IHN0YXRpYyB2b2lkIHptb2RlbV9mb3VuZChXaW5kb3cgKnAsIGludCBzZW5kLCBjaGFyICpicCwg
c2l6ZV90IGxlbikKIAkJZGlzcGxheSA9IGQ7CiAJCWV2ZGVxKCZEX2Jsb2NrZWRldik7CiAJCURf
cmVhZGV2LmNvbmRwb3MgPSAmY29uc3RfSU9TSVpFOwotCQlEX3JlYWRldi5jb25kbmVnID0gKGlu
dCAqKSZwLT53X2lubGVuOworCQlEX3JlYWRldi5jb25kbmVnID0gJnAtPndfaW5sZW47CiAJCUNs
ZWFyQWxsKCk7CiAJCUdvdG9Qb3MoMCwgMCk7CiAJCVNldFJlbmRpdGlvbigmbWNoYXJfYmxhbmsp
OwpkaWZmIC0tZ2l0IGEvc3JjL3dpbmRvdy5oIGIvc3JjL3dpbmRvdy5oCmluZGV4IDM4MzQ2NTAu
LmUxYzFhNjggMTAwNjQ0Ci0tLSBhL3NyYy93aW5kb3cuaAorKysgYi9zcmMvd2luZG93LmgKQEAg
LTc5LDcgKzc5LDcgQEAgc3RydWN0IHBzZXVkb3dpbiB7CiAJY2hhcglwX2NtZFtNQVhTVFJdOwog
CWNoYXIJcF90dHlbTUFYU1RSXTsKIAljaGFyCXBfaW5idWZbSU9TSVpFXTsJLyogYnVmZmVyZWQg
d3JpdGluZyB0byBwX3B0eWZkICovCi0Jc2l6ZV90CXBfaW5sZW47CisJaW50CXBfaW5sZW47CiB9
OwogCiAvKiBiaXRzIGZvciBmZHBhdDogKi8KQEAgLTE1Nyw5ICsxNTcsOSBAQCBzdHJ1Y3QgV2lu
ZG93IHsKIAlpbnQJIHdfcG9sbF96b21iaWVfdGltZW91dDsKIAlpbnQJIHdfcHR5ZmQ7CQkvKiBm
ZCBvZiB0aGUgbWFzdGVyIHB0eSAqLwogCWNoYXIJIHdfaW5idWZbSU9TSVpFXTsKLQlzaXplX3QJ
IHdfaW5sZW47CisJaW50CSB3X2lubGVuOwogCWNoYXIJIHdfb3V0YnVmW0lPU0laRV07Ci0Jc2l6
ZV90CSB3X291dGxlbjsKKwlpbnQJIHdfb3V0bGVuOwogCWJvb2wJIHdfYWZsYWc7CQkvKiAoLWEg
b3B0aW9uKSAqLwogCWJvb2wJIHdfZHluYW1pY2FrYTsJCS8qIHNob3VsZCB3ZSBjaGFuZ2UgbmFt
ZSAqLwogCWNoYXIJKndfdGl0bGU7CQkvKiBuYW1lIG9mIHRoZSB3aW5kb3cgKi8KLS0gCmNnaXQg
djEuMi4zCgo=


--=-4HaZXu7Jl+pGekvmMzvn--