Bug#1066143: general/glibc(?): simple IPv6 test program fails on m68k

2024-03-12 Thread Thorsten Glaser
>The same program works on amd64.

I noticed another difference between the amd64 system
and the four m68k ones.

$ ip a show dev lo
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever

vs.

# ip a show dev lo
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever

/etc/network/interfaces just has…

auto lo
iface lo inet loopback

… on all systems, so something weird is going on.

bye,
//mirabilos
-- 
22:20⎜ The crazy that persists in his craziness becomes a master
22:21⎜ And the distance between the craziness and geniality is
only measured by the success 18:35⎜ "Psychotics are consistently
inconsistent. The essence of sanity is to be inconsistently inconsistent



Bug#1066143: general/glibc(?): simple IPv6 test program fails on m68k

2024-03-12 Thread Thorsten Glaser
Package: libc6
Version: 2.36-8
Severity: normal
Tags: ipv6
X-Debbugs-Cc: t...@mirbsd.de, debian-...@lists.debian.org

This error occurred first during curl’s configure in a chroot with
libc6 2.37-15.1, but I could also reproduce it on a build host with
libc6 2.36-8 as well, and on an even older host with libc6 2.19-19
(all but the 2.36-8 one I’m reportbugging this from are running
linux 6.6.15-2).

Running a simple program that opens a TCP/IPv6 socket fails:

root@ara4:~ # gcc y.c
root@ara4:~ # ./a.out
a.out: socket(AF_INET6, SOCK_STREAM, 0): Address family not supported by 
protocol
1|root@ara4:~ # cat y.c
#include 
#include 
#include 

int main(void) {
int rv = socket(AF_INET6, SOCK_STREAM, 0) < 0;
err(1, "socket(AF_INET6, SOCK_STREAM, 0)");
}

(oops, should have been s/1/rv/ but doesn’t matter)

The same program works on amd64.

This is a reduced testcase that still shows the problem, plus
the call to err(3) added to show errno.

cbmuser said that another ports architecture also has unknown
trouble with IPv6, maybe this is the same issue?

If this is an issue with the kernel or something, please
reassign and inform the maintainers.

If this is a bug in the testcase, please reassign to src:curl.
The original testcase (plus confdefs) was:

 #include 
 #ifdef _WIN32
 #include 
 #include 
 #else
 #include 
 #include 
 #if defined (__TANDEM)
 # include 
 #endif
 #endif
 
 int main(void)
 {
  struct sockaddr_in6 s;
  (void)s;
  return socket(AF_INET6, SOCK_STREAM, 0) < 0;
 }

gcc -o conftest -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/tmp/buildd/curl-8.6.0=. 
-specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat 
-Werror=format-security -D_DEB_HOST_ARCH=\"m68k-linux-gnu\" 
-DCURL_PATCHSTAMP=\"8.6.0-3.2+b1\" -Werror-implicit-function-declaration 
-Wno-system-headers -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 
-Wdate-time -D_FORTIFY_SOURCE=2-specs=/usr/share/dpkg/pie-link.specs 
-Wl,-z,relro -Wl,-z,nowconftest.c -llber -lldap -llber -lzstd  -lbrotlidec  
-lz

-- System Information:
Debian Release: bookworm/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: m68k

Kernel: Linux 6.1.0-2-m68k (UP)
Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/bash
Init: sysvinit (via /sbin/init)

Versions of packages libc6 depends on:
ii  libgcc-s2  12.2.0-12

Versions of packages libc6 recommends:
ii  libidn2-0  2.3.3-1+b1

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]  1.5.82
pn  glibc-doc  
ii  libc-l10n  2.36-8
pn  libnss-nis 
pn  libnss-nisplus 
pn  locales

-- debconf information:
* libraries/restart-without-asking: true
  glibc/kernel-too-old:
  glibc/kernel-not-supported:
  glibc/restart-services:
  glibc/upgrade: true
  glibc/restart-failed:
  glibc/disable-screensaver: