public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC] ARM: Toolchain configuration for Cortex A8 based OMAP3?
Date: Sat, 23 Aug 2008 20:31:40 +0200	[thread overview]
Message-ID: <48B0578C.6010306@googlemail.com> (raw)
In-Reply-To: <13B9B4C6EF24D648824FF11BE896716203651C75E9@dlee02.ent.ti.com>

Woodruff, Richard wrote:
> Hi Dirk,
> 
>>Relevant parts of OMAP3 patch we talk about here (most probably
>>reformated cause of copy & paste to mailtool, so just for discussion.
>>Final patches will be sent by git-send-mail). Note the -lgcc_eh which
>>seems to be CodeSourcery specific, and the -march=armv7a in config.mk.
>>
>>diff -uprN uboot_clean/Makefile uboot_beagle/Makefile
>>--- uboot_clean/Makefile      2008-08-22 19:57:05.000000000 +0200
>>+++ uboot_beagle/Makefile     2008-08-22 19:53:52.000000000 +0200
>>@@ -141,7 +141,7 @@ ifeq ($(ARCH),ppc)
>>  CROSS_COMPILE = ppc_8xx-
>>  endif
>>  ifeq ($(ARCH),arm)
>>-CROSS_COMPILE = arm-linux-
>>+CROSS_COMPILE = arm-none-linux-gnueabi-
> 
> CROSS_COMPILE can always be set as an environment variable.  It is only for convenience.  CodeSourcy from my vantage point is common enough it would nice to see it the default.  In the end it doesn't matter.
> 
>>  endif
>>  ifeq ($(ARCH),i386)
>>  CROSS_COMPILE = i386-linux-
>>@@ -253,7 +253,7 @@ LIBBOARD = board/$(BOARDDIR)/lib$(BOARD)
>>  LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
>>
>>  # Add GCC lib
>>-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS)
>>-print-libgcc-file-name`) -lgcc
>>+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS)
>>-print-libgcc-file-name`) -lgcc -lgcc_eh
> 
> What is being gained by changing platform libs part?  Every now and then I update my local omap3 u-boot and I've not had to change that to get it working with codesourcy tool chains.  It might be I've not hit the issue yet.

Did check regarding -lgcc_eh: Used CodeSourcery tool chain and 
compiled (linked) with and without -lgcc_eh. The resulting binaries 
are identical and no link issues. Seems we can remove -lgcc_eh then. I 
just wonder now why it is there and what it is (was?) good for?

>>+PLATFORM_CPPFLAGS += -march=armv7a
>>+#
>>========================================================================
>>=
>>+#
>>+# Supply options according to compiler version
>>+#
>>+#
>>========================================================================
>>=
>>+#PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
>>+PLATFORM_CPPFLAGS +=$(call cc-option)
>>+PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call
>>cc-option,-malignment-traps,))
> 
> Only possible issue is if the make all boards breaks.  I'm not sure what kind of magical tool chain Wolfgang which can 'make all' for old and new versions.  When we did the initial port we grabbed the cc-option from Peter Pearse ARM patches and that helped a lot in sorting out invalid options.  That has since been integrated.  Many people only use older tool chains which won't support v7.
> 
> There hasn't been much advantage in using a v7 target at the u-boot level.  It mainly gets your assembler to understand smi but that can easily be a dc.w. 

Using CodeSourcery toolchain and replacing armv7a with armv4 results in

- a lot of warnings "warning: target CPU does not support interworking"

- start.S compilation fails:

start.S: Assembler messages:
start.S:466: Error: selected processor does not support `isb'
start.S:475: Error: selected processor does not support `clz r5,r4'
start.S:500: Error: selected processor does not support `isb'

>  We have used it mainly as an early test of the tool chain.
> 
> Probably the only time it absolutely is needed is if you have a Thumb2 only Cortex variant.

Dirk

  reply	other threads:[~2008-08-23 18:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-23  6:39 [U-Boot] [RFC] ARM: Toolchain configuration for Cortex A8 based OMAP3? Dirk Behme
2008-08-23 14:16 ` Woodruff, Richard
2008-08-23 18:31   ` Dirk Behme [this message]
2008-08-23 19:42     ` ksi at koi8.net
2008-08-26 15:54     ` Scott Wood
2008-08-27 16:38 ` Dirk Behme
2008-08-27 19:56   ` Wolfgang Denk
2008-08-27 20:13     ` ksi at koi8.net
2008-08-27 22:38 ` Jean-Christophe PLAGNIOL-VILLARD
2008-08-28 14:00   ` Dirk Behme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48B0578C.6010306@googlemail.com \
    --to=dirk.behme@googlemail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox