Message ID | 20191016141312.15684-1-anton.ivanov@cambridgegreys.com |
---|---|
State | Rejected |
Headers | show |
Series | um: Add back support for extra userspace libraries | expand |
Hello Anton, Thank you so much for working on this fix. I tested this patch and it works. Some comments below though. On Wed, 2019-10-16 at 15:13 +0100, Anton Ivanov wrote: > PCAP and VDE network transports require linking with userspace > libraries. The current build system has no means of passing these > as arguments. > > This patch adds a script to expand the library list for linking > for these transports as well as any future driver that needs to > rely on additional libraries on the userspace side. > > Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> > --- > arch/um/scripts/extra-libs.sh | 10 ++++++++++ > scripts/link-vmlinux.sh | 4 +++- > 2 files changed, 13 insertions(+), 1 deletion(-) > create mode 100644 arch/um/scripts/extra-libs.sh > > diff --git a/arch/um/scripts/extra-libs.sh b/arch/um/scripts/extra- > libs.sh > new file mode 100644 > index 000000000000..0592485e0675 > --- /dev/null > +++ b/arch/um/scripts/extra-libs.sh > @@ -0,0 +1,10 @@ > +#!/bin/sh > + > +# This file should be included from link-vmlinux, not executed!!! > + > +if [ "${CONFIG_UML_NET_VDE}" = "y" ] ; then > + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lvde -lvdeplug" > +fi > +if [ "${CONFIG_UML_NET_PCAP}" = "y" ] ; then > + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lpcap" > +fi -lvde is not understood. I added the build dependency to libvde-dev on Debian but that still did not help. So instead I dropped it to get the build going. And my tests about networking look fine. The revised patch that I'm using is attached with this email. > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index 06495379fcd8..15f9e5096da0 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -90,11 +90,13 @@ vmlinux_link() > -Wl,--end-group \ > ${@}" > > + . arch/um/scripts/extra-libs.sh > + > ${CC} ${CFLAGS_vmlinux} \ > -o ${output} \ > -Wl,-T,${lds} \ > ${objects} \ > - -lutil -lrt -lpthread > + -lutil -lrt -lpthread ${UML_EXTRA_LIBS} > rm -f linux > fi > }
On Thu, Oct 17, 2019 at 1:32 PM Ritesh Raj Sarraf <rrs@debian.org> wrote: > > Hello Anton, > > Thank you so much for working on this fix. I tested this patch and it > works. Some comments below though. > > On Wed, 2019-10-16 at 15:13 +0100, Anton Ivanov wrote: > > PCAP and VDE network transports require linking with userspace > > libraries. The current build system has no means of passing these > > as arguments. > > > > This patch adds a script to expand the library list for linking > > for these transports as well as any future driver that needs to > > rely on additional libraries on the userspace side. > > > > Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> > > --- > > arch/um/scripts/extra-libs.sh | 10 ++++++++++ > > scripts/link-vmlinux.sh | 4 +++- > > 2 files changed, 13 insertions(+), 1 deletion(-) > > create mode 100644 arch/um/scripts/extra-libs.sh > > > > diff --git a/arch/um/scripts/extra-libs.sh b/arch/um/scripts/extra- > > libs.sh > > new file mode 100644 > > index 000000000000..0592485e0675 > > --- /dev/null > > +++ b/arch/um/scripts/extra-libs.sh > > @@ -0,0 +1,10 @@ > > +#!/bin/sh > > + > > +# This file should be included from link-vmlinux, not executed!!! > > + > > +if [ "${CONFIG_UML_NET_VDE}" = "y" ] ; then > > + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lvde -lvdeplug" > > +fi > > +if [ "${CONFIG_UML_NET_PCAP}" = "y" ] ; then > > + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lpcap" > > +fi > > -lvde is not understood. I added the build dependency to libvde-dev on > Debian but that still did not help. > > So instead I dropped it to get the build going. And my tests about > networking look fine. > > The revised patch that I'm using is attached with this email. > > > > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > > index 06495379fcd8..15f9e5096da0 100755 > > --- a/scripts/link-vmlinux.sh > > +++ b/scripts/link-vmlinux.sh > > @@ -90,11 +90,13 @@ vmlinux_link() > > -Wl,--end-group \ > > ${@}" > > > > + . arch/um/scripts/extra-libs.sh > > + > > ${CC} ${CFLAGS_vmlinux} \ > > -o ${output} \ > > -Wl,-T,${lds} \ > > ${objects} \ > > - -lutil -lrt -lpthread > > + -lutil -lrt -lpthread ${UML_EXTRA_LIBS} > > rm -f linux > > fi > > } I fear without an ACK from kbuild folks I'm unable to monkey this patch. No need to worry, this one can be merged after -rc1.
On 25/11/2019 21:32, Richard Weinberger wrote: > On Thu, Oct 17, 2019 at 1:32 PM Ritesh Raj Sarraf <rrs@debian.org> wrote: >> >> Hello Anton, >> >> Thank you so much for working on this fix. I tested this patch and it >> works. Some comments below though. >> >> On Wed, 2019-10-16 at 15:13 +0100, Anton Ivanov wrote: >>> PCAP and VDE network transports require linking with userspace >>> libraries. The current build system has no means of passing these >>> as arguments. >>> >>> This patch adds a script to expand the library list for linking >>> for these transports as well as any future driver that needs to >>> rely on additional libraries on the userspace side. >>> >>> Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> >>> --- >>> arch/um/scripts/extra-libs.sh | 10 ++++++++++ >>> scripts/link-vmlinux.sh | 4 +++- >>> 2 files changed, 13 insertions(+), 1 deletion(-) >>> create mode 100644 arch/um/scripts/extra-libs.sh >>> >>> diff --git a/arch/um/scripts/extra-libs.sh b/arch/um/scripts/extra- >>> libs.sh >>> new file mode 100644 >>> index 000000000000..0592485e0675 >>> --- /dev/null >>> +++ b/arch/um/scripts/extra-libs.sh >>> @@ -0,0 +1,10 @@ >>> +#!/bin/sh >>> + >>> +# This file should be included from link-vmlinux, not executed!!! >>> + >>> +if [ "${CONFIG_UML_NET_VDE}" = "y" ] ; then >>> + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lvde -lvdeplug" >>> +fi >>> +if [ "${CONFIG_UML_NET_PCAP}" = "y" ] ; then >>> + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lpcap" >>> +fi >> >> -lvde is not understood. I added the build dependency to libvde-dev on >> Debian but that still did not help. >> >> So instead I dropped it to get the build going. And my tests about >> networking look fine. >> >> The revised patch that I'm using is attached with this email. >> >> >>> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh >>> index 06495379fcd8..15f9e5096da0 100755 >>> --- a/scripts/link-vmlinux.sh >>> +++ b/scripts/link-vmlinux.sh >>> @@ -90,11 +90,13 @@ vmlinux_link() >>> -Wl,--end-group \ >>> ${@}" >>> >>> + . arch/um/scripts/extra-libs.sh >>> + >>> ${CC} ${CFLAGS_vmlinux} \ >>> -o ${output} \ >>> -Wl,-T,${lds} \ >>> ${objects} \ >>> - -lutil -lrt -lpthread >>> + -lutil -lrt -lpthread ${UML_EXTRA_LIBS} >>> rm -f linux >>> fi >>> } > > I fear without an ACK from kbuild folks I'm unable to monkey this patch. > No need to worry, this one can be merged after -rc1. > Ack, this needs to be forwarded to the kbuild maintainers as well.
> PCAP and VDE network transports require linking with userspace > libraries. The current build system has no means of passing these > as arguments. > > This patch adds a script to expand the library list for linking > for these transports as well as any future driver that needs to > rely on additional libraries on the userspace side. > > Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
diff --git a/arch/um/scripts/extra-libs.sh b/arch/um/scripts/extra-libs.sh new file mode 100644 index 000000000000..0592485e0675 --- /dev/null +++ b/arch/um/scripts/extra-libs.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# This file should be included from link-vmlinux, not executed!!! + +if [ "${CONFIG_UML_NET_VDE}" = "y" ] ; then + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lvde -lvdeplug" +fi +if [ "${CONFIG_UML_NET_PCAP}" = "y" ] ; then + UML_EXTRA_LIBS="$UML_EXTRA_LIBS -lpcap" +fi diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 06495379fcd8..15f9e5096da0 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -90,11 +90,13 @@ vmlinux_link() -Wl,--end-group \ ${@}" + . arch/um/scripts/extra-libs.sh + ${CC} ${CFLAGS_vmlinux} \ -o ${output} \ -Wl,-T,${lds} \ ${objects} \ - -lutil -lrt -lpthread + -lutil -lrt -lpthread ${UML_EXTRA_LIBS} rm -f linux fi }
PCAP and VDE network transports require linking with userspace libraries. The current build system has no means of passing these as arguments. This patch adds a script to expand the library list for linking for these transports as well as any future driver that needs to rely on additional libraries on the userspace side. Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> --- arch/um/scripts/extra-libs.sh | 10 ++++++++++ scripts/link-vmlinux.sh | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 arch/um/scripts/extra-libs.sh