* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain @ 2014-05-31 8:45 Waldemar Brodkorb 2014-05-31 11:13 ` Thomas Petazzoni 2014-05-31 20:56 ` William Welch 0 siblings, 2 replies; 8+ messages in thread From: Waldemar Brodkorb @ 2014-05-31 8:45 UTC (permalink / raw) To: buildroot The assumption musl libc does not support microblaze little endian mode is wrong. See http://git.musl-libc.org/cgit/musl/tree/configure line number 447-448. Tested with qemu. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- toolchain/toolchain-buildroot/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 840668c..7623790 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -81,7 +81,7 @@ comment "(e)glibc only available with shared lib support" config BR2_TOOLCHAIN_BUILDROOT_MUSL bool "musl (experimental)" depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazebe || \ - BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 + BR2_microblaze || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 select BR2_TOOLCHAIN_USES_MUSL help This option selects musl as the C library for the -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 8:45 [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain Waldemar Brodkorb @ 2014-05-31 11:13 ` Thomas Petazzoni 2014-05-31 20:56 ` William Welch 1 sibling, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2014-05-31 11:13 UTC (permalink / raw) To: buildroot Dear Waldemar Brodkorb, On Sat, 31 May 2014 10:45:56 +0200, Waldemar Brodkorb wrote: > depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazebe || \ > - BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 > + BR2_microblaze || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 Nope, just revert the patch I made, i.e turn BR2_microblazebe into BR2_microblaze again. We have three options in Buildroot: BR2_microblazeel, for Microblaze LE BR2_microblazebe, for Microblaze BE BR2_microblaze, when either Microblaze LE or BE is chosen See arch/Config.in.microblaze. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 8:45 [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain Waldemar Brodkorb 2014-05-31 11:13 ` Thomas Petazzoni @ 2014-05-31 20:56 ` William Welch 2014-05-31 21:43 ` Thomas Petazzoni 1 sibling, 1 reply; 8+ messages in thread From: William Welch @ 2014-05-31 20:56 UTC (permalink / raw) To: buildroot Greetings, What I know is, that the resulting images built by musl toolchain did not work, and readelf says the images are big-endian. I selected microblaze little endian target and then chose 3 different toolchains and made 3 separate builds. -- musl, buildroot internal, and the old Xilinx. Musl was the only one that did not run. Note that buildroot did not build the musl toolchain from source, but rather downloaded it from somewhere... QEMU is nice but does not necessarily prove that a toolchain will work on my spartan6 microblazeel design, which I have been using with builroot, successfully, for some time now. thank you, William On Sat, May 31, 2014 at 3:45 AM, Waldemar Brodkorb <wbx@openadk.org> wrote: > The assumption musl libc does not support microblaze little endian > mode is wrong. > See http://git.musl-libc.org/cgit/musl/tree/configure > line number 447-448. > > Tested with qemu. > > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> > --- > toolchain/toolchain-buildroot/Config.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/toolchain/toolchain-buildroot/Config.in > b/toolchain/toolchain-buildroot/Config.in > index 840668c..7623790 100644 > --- a/toolchain/toolchain-buildroot/Config.in > +++ b/toolchain/toolchain-buildroot/Config.in > @@ -81,7 +81,7 @@ comment "(e)glibc only available with shared lib support" > config BR2_TOOLCHAIN_BUILDROOT_MUSL > bool "musl (experimental)" > depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazebe || > \ > - BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 > + BR2_microblaze || BR2_mips || BR2_mipsel || BR2_powerpc || > BR2_x86_64 > select BR2_TOOLCHAIN_USES_MUSL > help > This option selects musl as the C library for the > -- > 1.7.10.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140531/aea563cd/attachment.html> ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 20:56 ` William Welch @ 2014-05-31 21:43 ` Thomas Petazzoni 2014-05-31 22:12 ` William Welch 0 siblings, 1 reply; 8+ messages in thread From: Thomas Petazzoni @ 2014-05-31 21:43 UTC (permalink / raw) To: buildroot Dear William Welch, On Sat, 31 May 2014 15:56:01 -0500, William Welch wrote: > What I know is, that the resulting images built by musl toolchain did not > work, and readelf says the images are big-endian. > > I selected microblaze little endian target and then chose 3 different > toolchains and made 3 separate builds. -- musl, buildroot internal, and > the old Xilinx. Musl was the only one that did not run. You did use the musl external toolchain, right? > QEMU is nice but does not necessarily prove that a toolchain will work on > my spartan6 microblazeel design, which I have been using with builroot, > successfully, for some time now. Absolutely. Do not hesitate to report back to us any issue that you might see on Microblaze. We're definitely interested in growing the user base of Buildroot users on this architecture. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 21:43 ` Thomas Petazzoni @ 2014-05-31 22:12 ` William Welch 2014-06-01 6:39 ` Thomas Petazzoni 2014-06-01 7:04 ` Waldemar Brodkorb 0 siblings, 2 replies; 8+ messages in thread From: William Welch @ 2014-05-31 22:12 UTC (permalink / raw) To: buildroot Greetings, Recall this is for 2014.05-rc3. I just ran through the process again. All I did was make simple selection choices in menuconfig. I did not manually enter any specifics about where/how to download the toolchain. When I asked for an external toolchain, Musl was the only external toolchain listed. The resulting 'savedefconfig' looked like this (note: there is no mention of musl...) BR2_microblazeel=y BR2_TOOLCHAIN_EXTERNAL=y BR2_ENABLE_LOCALE_PURGE=y BR2_TARGET_OPTIMIZATION="-pipe -mno-xl-soft-mul -mxl-barrel-shift -mcpu=v8.20.a" BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_PATCH="board/plus/reader3/linux.patch" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/plus/reader3/rdr3k_defconfig" BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/plus/reader3/rdr3.dts" BR2_PACKAGE_MTD=y BR2_TARGET_ROOTFS_INITRAMFS=y I noticed in the log this toolchain was downloaded: https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-1.0.0/crossx86-microblaze-linux-musl-1.0.0.tar.xz thank you, William On Sat, May 31, 2014 at 4:43 PM, Thomas Petazzoni < thomas.petazzoni@free-electrons.com> wrote: > Dear William Welch, > > On Sat, 31 May 2014 15:56:01 -0500, William Welch wrote: > > > What I know is, that the resulting images built by musl toolchain did not > > work, and readelf says the images are big-endian. > > > > I selected microblaze little endian target and then chose 3 different > > toolchains and made 3 separate builds. -- musl, buildroot internal, and > > the old Xilinx. Musl was the only one that did not run. > > You did use the musl external toolchain, right? > > > QEMU is nice but does not necessarily prove that a toolchain will work on > > my spartan6 microblazeel design, which I have been using with builroot, > > successfully, for some time now. > > Absolutely. Do not hesitate to report back to us any issue that you > might see on Microblaze. We're definitely interested in growing the > user base of Buildroot users on this architecture. > > Thanks, > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140531/e87dda4a/attachment.html> ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 22:12 ` William Welch @ 2014-06-01 6:39 ` Thomas Petazzoni 2014-06-01 7:04 ` Waldemar Brodkorb 1 sibling, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2014-06-01 6:39 UTC (permalink / raw) To: buildroot Dear William Welch, On Sat, 31 May 2014 17:12:45 -0500, William Welch wrote: > I did not manually enter any specifics about where/how to download the > toolchain. > > When I asked for an external toolchain, Musl was the only external > toolchain listed. Right. > The resulting 'savedefconfig' looked like this (note: there is no mention > of musl...) > > BR2_microblazeel=y > BR2_TOOLCHAIN_EXTERNAL=y > BR2_ENABLE_LOCALE_PURGE=y > BR2_TARGET_OPTIMIZATION="-pipe -mno-xl-soft-mul -mxl-barrel-shift > -mcpu=v8.20.a" There is nothing wrong in what you did. There was a bug in Buildroot, and I already sent a patch to fix it, and the fix is part of the final 2014.05 release. The problem was that Buildroot was assuming the pre-built Musl toolchain was valid for both Microblaze BE and Microblaze LE, which is not the case. Therefore, in commit http://git.buildroot.net/buildroot/commit/?id=77ef6a3a12ec1e41317ddfa54842c6a59d75dab8 this problem was fixed. You were in Cc of the patch. So from now on, if you select Microblaze little endian as the architecture, the pre-built Musl toolchain will not be selectable. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-05-31 22:12 ` William Welch 2014-06-01 6:39 ` Thomas Petazzoni @ 2014-06-01 7:04 ` Waldemar Brodkorb 2014-06-01 7:30 ` Thomas Petazzoni 1 sibling, 1 reply; 8+ messages in thread From: Waldemar Brodkorb @ 2014-06-01 7:04 UTC (permalink / raw) To: buildroot Hi, William Welch wrote, > Greetings, > > Recall this is for 2014.05-rc3. ?I just ran through the process again. > > All I did was make simple selection choices in menuconfig. > > I did not manually enter any specifics about where/how to download the > toolchain. > > When I asked for an external toolchain, Musl was the only external toolchain > listed.? Try the internal buildroot toolchain and musl, this will work for little endian targets. The external toolchain for musl is big endian only and furthermore contains a bug, because musl 1.0 didn't work for microblaze. At least not for qemu-system-microblazeel. Rich Felker fixed the Bug after 1.0 release, after I reported it via #musl on IRC. best regards Waldemar ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain 2014-06-01 7:04 ` Waldemar Brodkorb @ 2014-06-01 7:30 ` Thomas Petazzoni 0 siblings, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2014-06-01 7:30 UTC (permalink / raw) To: buildroot Dear Waldemar Brodkorb, On Sun, 1 Jun 2014 09:04:25 +0200, Waldemar Brodkorb wrote: > Try the internal buildroot toolchain and musl, this will work for > little endian targets. Unfortunately, due to a misunderstanding from me, in 2014.05, it's not possible to build a Microblaze little endian toolchain with musl in Buildroot. It will be re-enabled for 2014.08, or in a 2014.05.1 release if we do one. > The external toolchain for musl is big endian > only and furthermore contains a bug, because musl 1.0 didn't work > for microblaze. At least not for qemu-system-microblazeel. > Rich Felker fixed the Bug after 1.0 release, after I reported it via > #musl on IRC. I'm going to send soon a patch that updates a lot of external toolchains, including the musl ones, and they use a more recent musl version than 1.0.0. Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-06-01 7:30 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-05-31 8:45 [Buildroot] [PATCH] reenable microblaze little endian for internal musl toolchain Waldemar Brodkorb 2014-05-31 11:13 ` Thomas Petazzoni 2014-05-31 20:56 ` William Welch 2014-05-31 21:43 ` Thomas Petazzoni 2014-05-31 22:12 ` William Welch 2014-06-01 6:39 ` Thomas Petazzoni 2014-06-01 7:04 ` Waldemar Brodkorb 2014-06-01 7:30 ` Thomas Petazzoni
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.