public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Igor Grinberg <grinberg@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] M5282EVB undefined reference to `environment'
Date: Thu, 24 Nov 2011 08:36:53 +0200	[thread overview]
Message-ID: <4ECDE605.30404@compulab.co.il> (raw)
In-Reply-To: <4ECD88A1.50003@inchipdesign.com.au>

On 11/24/11 01:58, James Steward wrote:
> Hi Igor,
> 
> On 23/11/11 23:19, Igor Grinberg wrote:
>> Hi James,
>>
>> On 11/22/11 07:22, James Steward wrote:
>>> On 22/11/11 15:51, Marek Vasut wrote:
>>>>> Hi,
>>>>>
>>>>> I'm trying to build U-Boot for the above mentioned board.  Basically,
>>>>> I've done the following on a Ubuntu 10.04:
>>>>>
>>>>> wget
>>>>> https://sourcery.mentor.com/public/gnu_toolchain/m68k-elf/freescale-coldfir
>>>>> e-4.4-215-m68k-elf-i686-pc-linux-gnu.tar.bz2
>>>>>
>>>>> sudo tar xvfj
>>>>> freescale-coldfire-4.4-215-m68k-elf-i686-pc-linux-gnu.tar.bz2 -C /opt
>>>>>
>>>>> export
>>>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/free
>>>>> scale-coldfire-4.4/bin
>>>>>
>>>>> |sudo apt-get install git-core
>>>>>
>>>>> mkdir /home/james/u-boot-git&&   cd ||/home/james/u-boot-git
>>>>>
>>>>> git clone ||git://git.denx.de/u-boot-coldfire.git
>>>>>
>>>>> ||cd u-boot-coldfire
>>>>> ||
>>>>> ||make clean
>>>>>
>>>>> make M5282EVB_config
>>>>
>>>> try ./MAKEALL M5282EVB ... I suspect you don't have CROSS_COMPILE=your-crosscc-
>>>> prefix variable set, and maybe ARCH=m68k variable too.
>>>
>>> I didn't have those env vars set, however now with them set, and the latest codesourcery compiler I get the same error;
>>>
>>> export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/freescale-coldfire-2011.09/bin
>>>
>>> export CROSS_COMPILE=m68k-elf-
>>>
>>> export ARCH=m68k
>>>
>>> ./MAKEALL M5282EVB
>>> Configuring for M5282EVB board...
>>> cmd_nvedit.c: In function 'do_env_export':
>>> cmd_nvedit.c:748:3: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat]
>>> cmd_nvedit.c:774:2: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat]
>>> cmd_nvedit.c: In function 'do_env_import':
>>> cmd_nvedit.c:865:3: warning: format '%zd' expects argument of type 'signed size_t', but argument 2 has type 'size_t' [-Wformat]
>>> cmd_nvedit.c:865:3: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat]
>>> mcfmii.c: In function 'mcffec_miiphy_write':
>>> mcfmii.c:318:8: warning: variable 'rdreg' set but not used [-Wunused-but-set-variable]
>>> common/libcommon.o:(.data.rel.env_ptr+0x0): undefined reference to `environment'
>>> make: *** [u-boot] Error 1
>>> m68k-elf-size: './u-boot': No such file
>>>
>>> --------------------- SUMMARY ----------------------------
>>> Boards compiled: 1
>>> Boards with warnings or errors: 1 ( M5282EVB )
>>> ----------------------------------------------------------
>>>
>>> Any other thoughts?  Do I need to define something to configure the environment to flash or something?
>>
>> Do you have CONFIG_ENV_IS_EMBEDDED set?
>>
>>
> 
> A search with grep CONFIG_ENV_IS_EMBEDDED `find . -name "*.h"` indicates the answer is no.  Should it be set?

AFAIK, environment variable is used only when you have ENV_IS_EMBEDDED set.
Also, there is some logic in the include/environment.h files
(in current master line 64), that decides whether to set this
automatically or not.

> 
> With grep CONFIG_ENV_IS_ `find . -name "*.h"` in include/configs/M5282EVB.h, I see #define CONFIG_ENV_IS_IN_FLASH    1
> 
> So looking in that file I see:
> 
> /* Configuration for environment
>  * Environment is embedded in u-boot in the second sector of the flash
>  */
> #define CONFIG_ENV_ADDR         0xffe04000
> #define CONFIG_ENV_SIZE         0x2000
> #define CONFIG_ENV_IS_IN_FLASH  1

Look at the logic in environment.h to check if ENV_IS_EMBEDDED
gets set in your case.

> 
> This is pure unadulterated coldfire git source that will not build out of the box.  I assumed I was doing something wrong.  But it seems there is really a bug in the default configuration for this board?

Could be... It is extremely hard to understand what's going on
when the source code is a kind of divergence from upstream.
Also, there is a possibility that ENV_IS_EMBEDDED is broken
for some time already.


-- 
Regards,
Igor.

  reply	other threads:[~2011-11-24  6:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-21 22:00 [U-Boot] M5282EVB undefined reference to `environment' James Steward
2011-11-22  4:51 ` Marek Vasut
2011-11-22  5:22   ` James Steward
2011-11-23 12:19     ` Igor Grinberg
2011-11-23 23:58       ` James Steward
2011-11-24  6:36         ` Igor Grinberg [this message]
2011-11-24 23:27           ` James Steward
2011-11-25  5:42             ` Wolfgang Denk
2011-11-25  3:52           ` [U-Boot] [Almost solved] " James Steward
2011-11-29 22:58             ` James Steward
2011-11-30  6:58               ` Igor Grinberg
2011-11-30 21:10                 ` James Steward

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=4ECDE605.30404@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --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