Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1169503 > unrolled thread

[PATCH] Documentation/vDSO: don't build tests when cross compiling

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2015-06-21 03:20 +0200
Last post2015-06-23 01:20 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Documentation/vDSO: don't build tests when cross compiling Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-06-21 03:20 +0200
    Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling Andy Lutomirski <luto@amacapital.net> - 2015-06-22 21:50 +0200
      Re: [PATCH] Documentation/vDSO: don't build tests when cross  compiling Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-06-22 22:50 +0200
        Re: [PATCH] Documentation/vDSO: don't build tests when cross  compiling Jonathan Corbet <corbet@lwn.net> - 2015-06-22 23:10 +0200
          Re: [PATCH] Documentation/vDSO: don't build tests when cross  compiling Jonathan Corbet <corbet@lwn.net> - 2015-06-23 01:20 +0200

#1169503 — [PATCH] Documentation/vDSO: don't build tests when cross compiling

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-06-21 03:20 +0200
Subject[PATCH] Documentation/vDSO: don't build tests when cross compiling
Message-ID<pDC5s-6YN-15@gated-at.bofh.it>
The following was seen in linux-next build coverage, which is somewhat
unique since it uses powerpc host to cross compile x86:

Documentation/vDSO/vdso_standalone_test_x86.c:49:2: error: impossible
register constraint in 'asm'
make[4]: *** [Documentation/vDSO/vdso_standalone_test_x86.o] Error 1

It probably makes sense to just skip building these tests when
we are cross compiling.

Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Cc: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 Documentation/vDSO/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/vDSO/Makefile b/Documentation/vDSO/Makefile
index ee075c3d2124..b12e98770e1f 100644
--- a/Documentation/vDSO/Makefile
+++ b/Documentation/vDSO/Makefile
@@ -1,3 +1,4 @@
+ifndef CROSS_COMPILE
 # vdso_test won't build for glibc < 2.16, so disable it
 # hostprogs-y := vdso_test
 hostprogs-$(CONFIG_X86) := vdso_standalone_test_x86
@@ -13,3 +14,4 @@ HOSTLOADLIBES_vdso_standalone_test_x86 := -nostdlib
 ifeq ($(CONFIG_X86_32),y)
 HOSTLOADLIBES_vdso_standalone_test_x86 += -lgcc_s
 endif
+endif
-- 
2.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1170181

FromAndy Lutomirski <luto@amacapital.net>
Date2015-06-22 21:50 +0200
Message-ID<pEfTb-4RX-5@gated-at.bofh.it>
In reply to#1169503
On Mon, Jun 22, 2015 at 12:09 PM, Paul Gortmaker
<paul.gortmaker@windriver.com> wrote:
> [Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling] On 22/06/2015 (Mon 10:01) Andy Lutomirski wrote:
>
>> On Mon, Jun 22, 2015 at 9:41 AM, Jonathan Corbet <corbet@lwn.net> wrote:
>> > On Sat, 20 Jun 2015 21:10:28 -0400
>> > Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
>> >
>> >> The following was seen in linux-next build coverage, which is somewhat
>> >> unique since it uses powerpc host to cross compile x86:
>> >>
>> >> Documentation/vDSO/vdso_standalone_test_x86.c:49:2: error: impossible
>> >> register constraint in 'asm'
>> >> make[4]: *** [Documentation/vDSO/vdso_standalone_test_x86.o] Error 1
>> >>
>> >> It probably makes sense to just skip building these tests when
>> >> we are cross compiling.
>> >
>> > So I guess I'm not totally averse to applying these; getting rid of build
>> > errors is a good thing.  But I do get the feeling like it's papering over
>> > the real problem.  As a general rule, cross-compiling works; what's
>> > special about these programs that makes it fail?
>>
>> Agreed.  What gcc version is this?
>
> Just to re-iterate, this is ppc host, cross compiling x86_64 target.
>
> The linux-next build I saw the errors in this weekend is here:
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/12445538/
>
> According to that, it is gcc 4.6.3
>
> It seems that the assumption is that nobody cross compiles x86, so
> when people see CONFIG_X86_64 set, they assume HOSTCC can create x86
> binaries and will do so by default.  Hence the breakdown in creation
> of some of these sample programs.  We've already a similar fix in
> mainline in e9107f88c985bc ("samples/seccomp/Makefile: do not build
> tests if cross-compiling for MIPS")
>
> I've added linux-next folks to Cc: -- probably should have done that on
> the original send...  they know more about the toolchains used for -next.

Oh, right.

Do we have something like hostprogs that builds for the target instead
of the host?

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1170207 — Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-06-22 22:50 +0200
SubjectRe: [PATCH] Documentation/vDSO: don't build tests when cross compiling
Message-ID<pEgPh-6dW-23@gated-at.bofh.it>
In reply to#1170181
[Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling] On 22/06/2015 (Mon 12:46) Andy Lutomirski wrote:

> On Mon, Jun 22, 2015 at 12:09 PM, Paul Gortmaker
> <paul.gortmaker@windriver.com> wrote:
> > [Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling] On 22/06/2015 (Mon 10:01) Andy Lutomirski wrote:
> >
> >> On Mon, Jun 22, 2015 at 9:41 AM, Jonathan Corbet <corbet@lwn.net> wrote:
> >> > On Sat, 20 Jun 2015 21:10:28 -0400
> >> > Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> >> >
> >> >> The following was seen in linux-next build coverage, which is somewhat
> >> >> unique since it uses powerpc host to cross compile x86:
> >> >>
> >> >> Documentation/vDSO/vdso_standalone_test_x86.c:49:2: error: impossible
> >> >> register constraint in 'asm'
> >> >> make[4]: *** [Documentation/vDSO/vdso_standalone_test_x86.o] Error 1
> >> >>
> >> >> It probably makes sense to just skip building these tests when
> >> >> we are cross compiling.
> >> >
> >> > So I guess I'm not totally averse to applying these; getting rid of build
> >> > errors is a good thing.  But I do get the feeling like it's papering over
> >> > the real problem.  As a general rule, cross-compiling works; what's
> >> > special about these programs that makes it fail?
> >>
> >> Agreed.  What gcc version is this?
> >
> > Just to re-iterate, this is ppc host, cross compiling x86_64 target.
> >
> > The linux-next build I saw the errors in this weekend is here:
> >
> > http://kisskb.ellerman.id.au/kisskb/buildresult/12445538/
> >
> > According to that, it is gcc 4.6.3
> >
> > It seems that the assumption is that nobody cross compiles x86, so
> > when people see CONFIG_X86_64 set, they assume HOSTCC can create x86
> > binaries and will do so by default.  Hence the breakdown in creation
> > of some of these sample programs.  We've already a similar fix in
> > mainline in e9107f88c985bc ("samples/seccomp/Makefile: do not build
> > tests if cross-compiling for MIPS")
> >
> > I've added linux-next folks to Cc: -- probably should have done that on
> > the original send...  they know more about the toolchains used for -next.
> 
> Oh, right.
> 
> Do we have something like hostprogs that builds for the target instead
> of the host?

I just re-scanned Documentation/kbuild/makefiles.txt ; section 4 in
there is "Host Program support" --- nothing jumps out at me.

Something else worth mentioning is that the toolchains I (and many
others?) use from kernel.org for cross-compile testing of my multi-arch
or tree-wide changes do explicitly say this:

"These compilers are only functional for kernel builds. They cannot be
used to build userspace code".   --- they can be found here:

https://www.kernel.org/pub/tools/crosstool/

I'm thinking that by the time we support toolchains and libraries
that can cross compile user space cruft, we'll be 90% towards
reinventing what the yocto project has with full sysroots etc.

I'm open to other solutions than what I've posted here, but at the
moment it is kind of looking like just omitting these test progs and
userspace progs when x-compiling is the best choice currently.

Paul.
--

> 
> --Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1170213 — Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling

FromJonathan Corbet <corbet@lwn.net>
Date2015-06-22 23:10 +0200
SubjectRe: [PATCH] Documentation/vDSO: don't build tests when cross compiling
Message-ID<pEh8C-6Qf-7@gated-at.bofh.it>
In reply to#1170207
On Mon, 22 Jun 2015 16:41:10 -0400
Paul Gortmaker <paul.gortmaker@windriver.com> wrote:

> "These compilers are only functional for kernel builds. They cannot be
> used to build userspace code"

I guess that's probably the key point.  Maybe I should just apply the
patches and be done with it.

Thanks,

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1170292 — Re: [PATCH] Documentation/vDSO: don't build tests when cross compiling

FromJonathan Corbet <corbet@lwn.net>
Date2015-06-23 01:20 +0200
SubjectRe: [PATCH] Documentation/vDSO: don't build tests when cross compiling
Message-ID<pEjaq-1zV-21@gated-at.bofh.it>
In reply to#1170213
On Mon, 22 Jun 2015 15:10:28 -0600
Jonathan Corbet <corbet@lwn.net> wrote:

> On Mon, 22 Jun 2015 16:41:10 -0400
> Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> 
> > "These compilers are only functional for kernel builds. They cannot be
> > used to build userspace code"  
> 
> I guess that's probably the key point.  Maybe I should just apply the
> patches and be done with it.

I have done that, FWIW, with all three patches.

Thanks,

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web