x86: 0.892 architecture: 0.878 user-level: 0.865 graphic: 0.823 performance: 0.821 socket: 0.786 kernel: 0.775 arm: 0.773 hypervisor: 0.767 device: 0.766 ppc: 0.760 PID: 0.735 files: 0.723 mistranslation: 0.704 peripherals: 0.691 debug: 0.686 boot: 0.669 network: 0.658 risc-v: 0.651 TCG: 0.616 i386: 0.610 register: 0.587 semantic: 0.582 permissions: 0.580 VMM: 0.571 vnc: 0.569 KVM: 0.501 assembly: 0.385 virtual: 0.368 -------------------- x86: 0.953 files: 0.059 debug: 0.036 TCG: 0.031 PID: 0.012 hypervisor: 0.012 semantic: 0.011 virtual: 0.010 register: 0.010 user-level: 0.007 kernel: 0.006 VMM: 0.004 boot: 0.003 device: 0.003 network: 0.003 architecture: 0.003 KVM: 0.002 performance: 0.002 assembly: 0.002 permissions: 0.002 vnc: 0.001 socket: 0.001 graphic: 0.001 mistranslation: 0.001 peripherals: 0.001 i386: 0.001 risc-v: 0.001 arm: 0.001 ppc: 0.000 qemu --static user build fails with fedora rawhide glibc-2.30.9000 Building qemu latest git 654efcb511d on fedora rawhide fails with this configure line: ./configure \ --static \ --disable-system \ --enable-linux-user \ --disable-werror \ --disable-tools \ --disable-capstone make fails with: /usr/bin/ld: linux-user/syscall.o: in function `do_syscall1': /root/qemu.git/linux-user/syscall.c:7769: undefined reference to `stime' collect2: error: ld returned 1 exit status Seems related to this glibc change: https://sourceware.org/git/?p=glibc.git;a=commit;h=12cbde1dae6fa4a9a792b64564c7e0debf7544cc ... +* The obsolete function stime is no longer available to newly linked + binaries and it has been removed from header. This function + has been deprecated in favor of clock_settime. + # rpm -q glibc glibc-2.30.9000-17.fc32.x86_64 FWIW there's some other messages but I don't think they are fatal: /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64/libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry': (.text+0x267): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/bin/ld: (.text+0xe0): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/bin/ld: (.text+0x11e): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking Also, --disable-capstone is required to avoid this error, but it is pre-existing, not sure if it's a bug, if so I can file a separate one: LINK aarch64-linux-user/qemu-aarch64 /usr/bin/ld: cannot find -lcapstone collect2: error: ld returned 1 exit status We use stime() to implement the target stime syscall. We should probably switch to using clock_settime(CLOCK_REALTIME, ...) instead, as that's what glibc uses internally now to implement its stime(): https://sourceware.org/git/?p=glibc.git;a=blob;f=time/stime.c;h=6ea3b6dcc1a393b57b69ca24fbfe8023d9095837;hb=12cbde1dae6fa4a9a792b64564c7e0debf7544cc Fixed by 0f1f2d4596ae ("linux-user: remove host stime() syscall")