All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Buildroot comments and questions
@ 2009-04-26 14:36 Hai Shalom
  2009-04-26 20:10 ` Peter Korsgaard
  0 siblings, 1 reply; 3+ messages in thread
From: Hai Shalom @ 2009-04-26 14:36 UTC (permalink / raw)
  To: buildroot

Hello,

I've been using the buildroot for the first time, and I am struggling to
create a stable toolchain for armeb with uclibc 0.9.29 and gcc 4.2.4.

There are few minor issues which I would like to update:
1. For gcc 4.2.x,  BR2_GCC_TARGET_ABI must be "aapcs" and not "aapcs-linux"
which works only for gcc 4.3.x.
2. I am using GNU find 4.1.20 which doesn't like the "-delete" flag in the
main Makefile, instead you can use " | xargs rm -rf" which is good for all
versions.
3. There is a Thumb support patch for ARM in
http://lists.busybox.net/pipermail/buildroot/2008-March/019622.html
I have problems with it because the gcc warns that crtbegin.o doesn't
support Thumb-interwork whilst my binary does.
Perhaps you should check it out?

I have a few questions and I would be greatful if you could answer or
comment:
1. I have a compilation error with crtstuff.c:

/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/crtstuff.c: In
function '__do_global_dtors_aux':
/buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/crtstuff.c:267:
error: '__DTOR_LIST__' undeclared (first use in this function)
/buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/crtstuff.c:267:
error: (Each undeclared identifier is reported only once
/buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/crtstuff.c:267:
error: for each function it appears in.)
make[2]: *** [crtbegin.o] Error 1

Trying to workaround this, resulted in non-running binaries. I tried to user
the crtstuff.c from gcc-4.3.2 and it compiled, however, I get the following
warnings:

armeb-linux-uclibc/bin/ld: warning: .init_array section has zero size
armeb-linux-uclibc/bin/ld: warning: .fini_array section has zero size

The executables run correctly though.

2. Using objdump -x, reveals that the private flags of the executables are:
[APCS-32] [FPA float format] [has entry point] which suggest Old ABI, whilst
I expected it to have [Version4 EABI] [has entry point]. Note that I enabled
EABI in the buildroot's menuconfig.


I would appreaciate any comments, thanks in advance.

Hai.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20090426/e25a239b/attachment.htm>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] Buildroot comments and questions
  2009-04-26 14:36 [Buildroot] Buildroot comments and questions Hai Shalom
@ 2009-04-26 20:10 ` Peter Korsgaard
       [not found]   ` <a4413b2d0904262349m133ac037t4c42095240c1256a@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Korsgaard @ 2009-04-26 20:10 UTC (permalink / raw)
  To: buildroot

>>>>> "Hai" == Hai Shalom <hai.shalom@gmail.com> writes:

Hi,

 Hai> I've been using the buildroot for the first time, and I am
 Hai> struggling to create a stable toolchain for armeb with uclibc
 Hai> 0.9.29 and gcc 4.2.4.

Any particular reason why you aren't using the stable versions then?
(uclibc 0.9.30.1, gcc 4.3.x)

 Hai> ?
 Hai> There are few minor issues which I would like to update:
 Hai> 1. For gcc 4.2.x,? BR2_GCC_TARGET_ABI must be "aapcs" and not "aapcs-linux"
 Hai> which works only for gcc 4.3.x.

Seems like we need something like
toolchain/gcc/4.3.2/999-4.3.2-armeabi-aapcs-linux.patch for 4.2.x as
well.


 Hai> 2. I am using GNU find 4.1.20 which doesn't like the "-delete"
 Hai> flag in the main Makefile, instead you can use " | xargs rm -rf"
 Hai> which is good for all versions.

4.1.20? That's old, what distribution are you on?


 Hai> 3. There is a Thumb support patch for ARM in
 Hai> http://lists.busybox.net/pipermail
 Hai> /buildroot/2008-March/019622.html I have problems with it
 Hai> because the gcc warns that crtbegin.o doesn't support
 Hai> Thumb-interwork whilst my binary does.  Perhaps you should check
 Hai> it out?

It's still on my todo list.

 Hai>I have a few questions and I would be greatful if you
 Hai> could answer or comment: 1. I have a compilation error with
 Hai> crtstuff.c: ?
 Hai> /buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/crtstuff.c:
 Hai> In function '__do_global_dtors_aux':
 Hai> /buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/
 Hai> crtstuff.c:267: error: '__DTOR_LIST__' undeclared (first use in
 Hai> this function)
 Hai> /buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/
 Hai> crtstuff.c:267: error: (Each undeclared identifier is reported
 Hai> only once
 Hai> /buildroot/buildroot-2009.02/toolchain_build_armeb/gcc-4.2.4/gcc/
 Hai> crtstuff.c:267: error: for each function it appears in.)
 Hai> make[2]: *** [crtbegin.o] Error 1

Do you have the same problem with the currently stable gcc/uclibc
versions? Please post your .config

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] Buildroot comments and questions
       [not found]   ` <a4413b2d0904262349m133ac037t4c42095240c1256a@mail.gmail.com>
@ 2009-04-27  7:47     ` Peter Korsgaard
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2009-04-27  7:47 UTC (permalink / raw)
  To: buildroot

>>>>> "Hai" == Hai Shalom <hai.shalom@gmail.com> writes:

Please keep communication on the buildroot list, thanks.

 Hai> The reason I am using uClibc 0.9.29 is because I have an NPTL
 Hai> patch over it, and it is used in the system for a long time. The
 Hai> official 29 and 30 versions do not include this patch, and
 Hai> trying to compile new linuxthreads for arm results in a missing
 Hai> header file in sysdeps (there are header files for all platforms
 Hai> except for arm). Therefore, I had to stick to my old version.

Ok. linuxthreads-old (the default) afaik works on ARM.

 Hai> Regarding the gcc patch, you are probably right. If I'll copy
 Hai> the mentioned patch file to the 4.2.4 subdirectory, does the
 Hai> Makefile automatically take all patch files in it?

Yes, all *.patch

 Hai> Regarding the find, I know I am using an older distribution, but
 Hai> in any case,?I recommend using the other alternative instead of
 Hai> -delete anyways to support all versions (it doesn't damage newer
 Hai> versions).

Agreed.

 Hai> I also tried to build with gcc 4.3.2, and halted on the same
 Hai> problem exactly in crtstuff.c.  I found a patch to workaround
 Hai> this, but then I get the emptry sections warnings from the
 Hai> linker.

Strange. gcc 4.3.x works fine here on ARM. Maybe your problems are
caused by your uclibc changes?

 Hai> I've attached this patch for your reference, although I
 Hai> don't think it is right.  ? I also attached my .config file for
 Hai> your reference and hopefully you'll find something I didn't
 Hai> configure right... Please note that I had to hack the .config to
 Hai> force using 2.6.18 headers (I don't think there is any relation
 Hai> to this because with the mentioned patch, the toolchain
 Hai> completed to build).  ? Thanks a lot, Hai.

Why would you want to use so old kernel headers? Didn't the make
headers_install target only get added to the kernel in 2.6.19?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-04-27  7:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-26 14:36 [Buildroot] Buildroot comments and questions Hai Shalom
2009-04-26 20:10 ` Peter Korsgaard
     [not found]   ` <a4413b2d0904262349m133ac037t4c42095240c1256a@mail.gmail.com>
2009-04-27  7:47     ` Peter Korsgaard

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.