On Wed, Nov 18, 2015 at 5:06 PM, Richard Weinberger <rich...@nod.at> wrote: > > > That command line doesn't work, but if you remove the -lrt and put it > > at the end of the line, it starts working. Is the order significant? > > Or is it a bug in GCC's command line parsing? > > The order matters. > -lrt has to be placed after all object files which need the rt library. > Can you double check whether this is the case?
No, it's not the case. The error is when linking arch/um/os-Linux/built-in.o: arch/um/os-Linux/built-in.o: In function `os_timer_create': /android/kernel/android/arch/um/os-Linux/time.c:51: undefined reference to `timer_create' and in the generated command line, -lrt appears beforearch/um/os-Linux/built-in.o: + gcc -Wl,-rpath,/lib64 -m64 -Wl,-rpath,/lib -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc -Wl,-m -Wl,elf_x86_64 -lrt -o .tmp_vmlinux1 -Wl,-T,./arch/um/kernel/vmlinux.lds init/built-in.o -Wl,--start-group usr/built-in.o arch/um/kernel/built-in.o arch/um/drivers/built-in.o arch/um/os-Linux/built-in.o arch/x86/crypto/built-in.o arch/x86/um/built-in.o kernel/built-in.o certs/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o block/built-in.o lib/lib.a lib/built-in.o drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o virt/built-in.o -Wl,--end-group -lutil Taking -lrt out of arch/um/Makefile and putting it into link-vmlinux.sh, as per the patch I suggested above, results in -lrt being the last thing on the command line, after -lutil. ------------------------------------------------------------------------------ _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel