* [Buildroot] problems compiling uclibc for Geode (i386)
@ 2011-06-28 20:02 Sven Neumann
2011-06-29 12:29 ` Sven Neumann
0 siblings, 1 reply; 10+ messages in thread
From: Sven Neumann @ 2011-06-28 20:02 UTC (permalink / raw)
To: buildroot
Hi,
I am currently trying to update our buildroot system to the latest
version that I pulled from your git repository yesterday. Things work
reasonably well and I have everything compiling fine for the ARM
platform. The Geode platform however is causing trouble when it comes to
compiling uclibc 0.9.32.
First I had to fix a compile problem by pulling in this patch from the
uclibc repository:
http://git.uclibc.org/uClibc/patch/?id=8245f3b4638fdff2011c2657af1bb211def704bc
But now I am stuck with this linker error:
LD libuClibc-0.9.32.so
libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined reference to
`__lll_unlock_wake_private'
collect2: ld returned 1 exit status
make[1]: *** [lib/libc.so] Error 1
make[1]: Leaving directory
`/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
Any ideas?
Thanks in advance,
Sven
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-28 20:02 [Buildroot] problems compiling uclibc for Geode (i386) Sven Neumann
@ 2011-06-29 12:29 ` Sven Neumann
2011-06-29 13:54 ` Michael S. Zick
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Sven Neumann @ 2011-06-29 12:29 UTC (permalink / raw)
To: buildroot
On Tue, 2011-06-28 at 22:02 +0200, Sven Neumann wrote:
> Hi,
>
> I am currently trying to update our buildroot system to the latest
> version that I pulled from your git repository yesterday. Things work
> reasonably well and I have everything compiling fine for the ARM
> platform. The Geode platform however is causing trouble when it comes to
> compiling uclibc 0.9.32.
>
> First I had to fix a compile problem by pulling in this patch from the
> uclibc repository:
> http://git.uclibc.org/uClibc/patch/?id=8245f3b4638fdff2011c2657af1bb211def704bc
>
>
> But now I am stuck with this linker error:
>
> LD libuClibc-0.9.32.so
> libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined reference to
> `__lll_unlock_wake_private'
> collect2: ld returned 1 exit status
> make[1]: *** [lib/libc.so] Error 1
> make[1]: Leaving directory
> `/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
Looks like NPTL support is broken for the generic 386 target. I've
changed the uclibc configuration to i586 now (in the hope that this will
work for a Geode processor) and that has fixed above problem for me.
Sven
^ permalink raw reply [flat|nested] 10+ messages in thread* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 12:29 ` Sven Neumann
@ 2011-06-29 13:54 ` Michael S. Zick
2011-06-29 14:43 ` Thomas Petazzoni
2011-07-05 6:58 ` Peter Korsgaard
2 siblings, 0 replies; 10+ messages in thread
From: Michael S. Zick @ 2011-06-29 13:54 UTC (permalink / raw)
To: buildroot
On Wed June 29 2011, Sven Neumann wrote:
> On Tue, 2011-06-28 at 22:02 +0200, Sven Neumann wrote:
> > Hi,
> >
> > I am currently trying to update our buildroot system to the latest
> > version that I pulled from your git repository yesterday. Things work
> > reasonably well and I have everything compiling fine for the ARM
> > platform. The Geode platform however is causing trouble when it comes to
> > compiling uclibc 0.9.32.
> >
> > First I had to fix a compile problem by pulling in this patch from the
> > uclibc repository:
> > http://git.uclibc.org/uClibc/patch/?id=8245f3b4638fdff2011c2657af1bb211def704bc
> >
> >
> > But now I am stuck with this linker error:
> >
> > LD libuClibc-0.9.32.so
> > libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined reference to
> > `__lll_unlock_wake_private'
> > collect2: ld returned 1 exit status
> > make[1]: *** [lib/libc.so] Error 1
> > make[1]: Leaving directory
> > `/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
>
> Looks like NPTL support is broken for the generic 386 target. I've
> changed the uclibc configuration to i586 now (in the hope that this will
> work for a Geode processor) and that has fixed above problem for me.
>
Probably a good starting point although you don't mention __which__ Geode
processor your using.
An older sort of reference but depending on your processor, might still apply:
http://www.larwe.com/technical/geode_linux.html
Mike
>
> Sven
>
>
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 12:29 ` Sven Neumann
2011-06-29 13:54 ` Michael S. Zick
@ 2011-06-29 14:43 ` Thomas Petazzoni
[not found] ` <4E0B3B3D.3090108@in-2-technology.co.uk>
` (2 more replies)
2011-07-05 6:58 ` Peter Korsgaard
2 siblings, 3 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2011-06-29 14:43 UTC (permalink / raw)
To: buildroot
Le Wed, 29 Jun 2011 14:29:34 +0200,
Sven Neumann <s.neumann@raumfeld.com> a ?crit :
> > LD libuClibc-0.9.32.so
> > libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined
> > reference to `__lll_unlock_wake_private'
> > collect2: ld returned 1 exit status
> > make[1]: *** [lib/libc.so] Error 1
> > make[1]: Leaving directory
> > `/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
>
> Looks like NPTL support is broken for the generic 386 target. I've
> changed the uclibc configuration to i586 now (in the hope that this
> will work for a Geode processor) and that has fixed above problem for
> me.
This function is implemented in
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S, so
presumably, i386 does not work, but i486 should.
My understanding is that the futex mechanism uses the cmpxchgl
instruction, which is only available on 486+ processors.
Maybe someone should send a patch to the uClibc configuration system to
make sure that NPTL cannot be selected on i386.
Regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread[parent not found: <4E0B3B3D.3090108@in-2-technology.co.uk>]
* [Buildroot] problems compiling uclibc for Geode (i386)
[not found] ` <4E0B3B3D.3090108@in-2-technology.co.uk>
@ 2011-06-29 14:55 ` Thomas Petazzoni
2011-07-05 7:00 ` Peter Korsgaard
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2011-06-29 14:55 UTC (permalink / raw)
To: buildroot
Hello,
Please don't reply to me directly, but rather to the Buildroot list.
Le Wed, 29 Jun 2011 15:48:29 +0100,
Dominic Newton <dominic.newton@in-2-technology.co.uk> a ?crit :
> uclibc menuconfig correctly shows that the i386 sub-architecture does
> not support NPTL. For some reason this is not picked up in the main
> buildroot config options. I've not had time to see why. I normally
> run uclicb-menuconfig and see what is supported their as a double
> check at the moment.
Ah, then it's Buildroot that needs to be fixed.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 14:55 ` Thomas Petazzoni
@ 2011-07-05 7:00 ` Peter Korsgaard
2011-07-05 7:17 ` Thomas Petazzoni
0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2011-07-05 7:00 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Hello,
Thomas> Please don't reply to me directly, but rather to the Buildroot list.
Thomas> Le Wed, 29 Jun 2011 15:48:29 +0100,
Thomas> Dominic Newton <dominic.newton@in-2-technology.co.uk> a ?crit :
>> uclibc menuconfig correctly shows that the i386 sub-architecture does
>> not support NPTL. For some reason this is not picked up in the main
>> buildroot config options. I've not had time to see why. I normally
>> run uclicb-menuconfig and see what is supported their as a double
>> check at the moment.
Thomas> Ah, then it's Buildroot that needs to be fixed.
I've fixed it now. Perhaps we should consider defaulting to something
slightly less ancient than i386.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 14:43 ` Thomas Petazzoni
[not found] ` <4E0B3B3D.3090108@in-2-technology.co.uk>
@ 2011-06-29 16:14 ` Yann E. MORIN
2011-06-29 18:36 ` Khem Raj
2 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2011-06-29 16:14 UTC (permalink / raw)
To: buildroot
Sven, Thomas, All,
On Wednesday 29 June 2011 16:43:30 Thomas Petazzoni wrote:
> Le Wed, 29 Jun 2011 14:29:34 +0200,
> Sven Neumann <s.neumann@raumfeld.com> a ?crit :
>
> > > LD libuClibc-0.9.32.so
> > > libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined
> > > reference to `__lll_unlock_wake_private'
> > > collect2: ld returned 1 exit status
> > > make[1]: *** [lib/libc.so] Error 1
> > > make[1]: Leaving directory
> > > `/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
> >
> > Looks like NPTL support is broken for the generic 386 target. I've
> > changed the uclibc configuration to i586 now (in the hope that this
> > will work for a Geode processor) and that has fixed above problem for
> > me.
>
> This function is implemented in
> libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S, so
> presumably, i386 does not work, but i486 should.
>
> My understanding is that the futex mechanism uses the cmpxchgl
> instruction, which is only available on 486+ processors.
I confirm Thomas' explanations.
NPTL on x86 requires i486+ because of the cmpxchg opcode.
NPTL will never be implemented for i386.
IIRC, Geode is at least an i586, so you should be OK by selecting i586
instead of generic i386.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 10+ messages in thread* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 14:43 ` Thomas Petazzoni
[not found] ` <4E0B3B3D.3090108@in-2-technology.co.uk>
2011-06-29 16:14 ` Yann E. MORIN
@ 2011-06-29 18:36 ` Khem Raj
2 siblings, 0 replies; 10+ messages in thread
From: Khem Raj @ 2011-06-29 18:36 UTC (permalink / raw)
To: buildroot
On (29/06/11 16:43), Thomas Petazzoni wrote:
> Le Wed, 29 Jun 2011 14:29:34 +0200,
> Sven Neumann <s.neumann@raumfeld.com> a ?crit :
>
> > > LD libuClibc-0.9.32.so
> > > libc/libc_so.a(err.os):(.text.vwarn_work+0x127): undefined
> > > reference to `__lll_unlock_wake_private'
> > > collect2: ld returned 1 exit status
> > > make[1]: *** [lib/libc.so] Error 1
> > > make[1]: Leaving directory
> > > `/home/sven/git/buildroot/output/toolchain/uClibc-0.9.32'
> >
> > Looks like NPTL support is broken for the generic 386 target. I've
> > changed the uclibc configuration to i586 now (in the hope that this
> > will work for a Geode processor) and that has fixed above problem for
> > me.
>
> This function is implemented in
> libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S, so
> presumably, i386 does not work, but i486 should.
>
> My understanding is that the futex mechanism uses the cmpxchgl
> instruction, which is only available on 486+ processors.
yes
>
> Maybe someone should send a patch to the uClibc configuration system to
> make sure that NPTL cannot be selected on i386.
yes that will be the correct fix.
>
> Regards,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
-Khem
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] problems compiling uclibc for Geode (i386)
2011-06-29 12:29 ` Sven Neumann
2011-06-29 13:54 ` Michael S. Zick
2011-06-29 14:43 ` Thomas Petazzoni
@ 2011-07-05 6:58 ` Peter Korsgaard
2 siblings, 0 replies; 10+ messages in thread
From: Peter Korsgaard @ 2011-07-05 6:58 UTC (permalink / raw)
To: buildroot
>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
Hi,
Sven> Looks like NPTL support is broken for the generic 386 target. I've
Sven> changed the uclibc configuration to i586 now (in the hope that this will
Sven> work for a Geode processor) and that has fixed above problem for me.
I've committed a fix so you cannot enable NPTL if you choose i386.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-07-05 7:17 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-28 20:02 [Buildroot] problems compiling uclibc for Geode (i386) Sven Neumann
2011-06-29 12:29 ` Sven Neumann
2011-06-29 13:54 ` Michael S. Zick
2011-06-29 14:43 ` Thomas Petazzoni
[not found] ` <4E0B3B3D.3090108@in-2-technology.co.uk>
2011-06-29 14:55 ` Thomas Petazzoni
2011-07-05 7:00 ` Peter Korsgaard
2011-07-05 7:17 ` Thomas Petazzoni
2011-06-29 16:14 ` Yann E. MORIN
2011-06-29 18:36 ` Khem Raj
2011-07-05 6:58 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox