On Mon, Sep 09, 2019 at 11:14:50PM +0200, John Paul Adrian Glaubitz wrote: > On 9/9/19 10:49 PM, John Paul Adrian Glaubitz wrote: > > Both on my Alpha XP-1000 as well as inside a qemu-user chroot, upgrading > > glibc > > to version 2.29-1 resulted in setuid/getuid breaking in a weird way: > > To reproduce, one can simply run debootstrap with qemu-user-static installed > and > enter the chroot: > > root@epyc:/local_scratch> debootstrap --no-check-gpg --arch=alpha --foreign > --variant=minbase unstable sid-alpha-sbuild > http://ftp.ports.debian.org/debian-ports > (...) > root@epyc:/local_scratch> chroot sid-alpha-sbuild > bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) > I have no name!@epyc:/local_scratch> ./debootstrap/debootstrap --second-stage > E: debootstrap can only run as root > I have no name!@epyc:/local_scratch> > > I assume this would also work on qemu-system-alpha although I haven't tried > yet. But it should work the same way but without the "--foreign" argument.
What kernel are you running? Be aware that recent kernels on alpha (since ecf7e0a4ad15287) now support the getuid and getgid syscalls that the other arches always have had. I wonder if glibc has been updated in anyway for that? If so, it should be checking kernel version as to whether to use OSF1 syscall conventions or Linux syscall conventions. OSF1 calling conventions should work on any kernel, whereas Linux calling conventions only on kernels since v5.1. Cheers Michael.