On Wed, Nov 18, 2015 at 3:12 PM, Lorenzo Colitti <lore...@google.com> wrote: > On gcc Ubuntu 4.8.4-2ubuntu1~14.04, linking vmlinux fails with: > > 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' > arch/um/os-Linux/built-in.o: In function `os_timer_set_interval': > /android/kernel/android/arch/um/os-Linux/time.c:84: undefined reference to > `timer_settime' > arch/um/os-Linux/built-in.o: In function `os_timer_remain': > /android/kernel/android/arch/um/os-Linux/time.c:109: undefined reference to > `timer_gettime' > arch/um/os-Linux/built-in.o: In function `os_timer_one_shot': > /android/kernel/android/arch/um/os-Linux/time.c:132: undefined reference to > `timer_settime' > arch/um/os-Linux/built-in.o: In function `os_timer_disable': > /android/kernel/android/arch/um/os-Linux/time.c:145: undefined reference to > `timer_settime' > > This is because -lrt appears in the generated link commandline > after arch/um/os-Linux/built-in.o. Fix this by removing -lrt from > arch/um/Makefile and adding it to the UM-specific section of > scripts/link-vmlinux.sh. > > Signed-off-by: Lorenzo Colitti <lore...@google.com> > --- > arch/um/Makefile | 2 +- > scripts/link-vmlinux.sh | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/um/Makefile b/arch/um/Makefile > index 25ed409..e3abe6f 100644 > --- a/arch/um/Makefile > +++ b/arch/um/Makefile > @@ -131,7 +131,7 @@ export LDS_ELF_FORMAT := $(ELF_FORMAT) > # The wrappers will select whether using "malloc" or the kernel allocator. > LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc > > -LD_FLAGS_CMDLINE = $(foreach opt,$(LDFLAGS),-Wl,$(opt)) -lrt > +LD_FLAGS_CMDLINE = $(foreach opt,$(LDFLAGS),-Wl,$(opt)) > > # Used by link-vmlinux.sh which has special support for um link > export CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE) > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index 1a10d8a..dacf71a 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -62,7 +62,7 @@ vmlinux_link() > -Wl,--start-group \ > ${KBUILD_VMLINUX_MAIN} \ > -Wl,--end-group \ > - -lutil ${1} > + -lutil -lrt ${1} > rm -f linux > fi > } > --
Applied! :) -- Thanks, //richard ------------------------------------------------------------------------------ _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel