From: James Steward <j.steward@inchipdesign.com.au>
To: u-boot@lists.denx.de
Subject: [U-Boot] [Almost solved] M5282EVB undefined reference to `environment'
Date: Fri, 25 Nov 2011 14:52:48 +1100 [thread overview]
Message-ID: <4ECF1110.4050607@inchipdesign.com.au> (raw)
In-Reply-To: <4ECDE605.30404@compulab.co.il>
On 24/11/11 17:36, Igor Grinberg wrote:
> On 11/24/11 01:58, James Steward wrote:
>> 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.
objdump -t common/env_embedded.o | grep environment
00000004 g O .text 00002000 environment
objdump -t common/libcommon.o | grep environment
00000000 l d .rodata.default_environment 00000000
.rodata.default_environment
00000000 *UND* 00000000 environment
00000000 g O .rodata.default_environment 00000163 default_environment
So environment is undefined in libcommon.o, but is in env_embedded.o.
From make all I see;
m68k-elf-ld -n -r -o libcommon.o cmd_bdinfo.o cmd_boot.o cmd_bootm.o
cmd_cache.o cmd_console.o cmd_echo.o cmd_flash.o cmd_help.o cmd_itest.o
cmd_load.o cmd_mem.o cmd_mii.o cmd_misc.o cmd_net.o cmd_nvedit.o
cmd_pcmcia.o cmd_source.o cmd_version.o cmd_ximg.o command.o console.o
dlmalloc.o env_common.o env_flash.o exports.o flash.o image.o main.o
memsize.o miiphyutil.o s_record.o stdio.o xyzModem.o
So it compiles env_embedded.c, but doesn't include it in libcommon.o?
<hack>
vim common/Makefile
XCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
becomes
COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
:q
</hack>
make all
Hey, presto, build now completes!
So how should this be corrected properly?
Regards,
James.
next prev parent reply other threads:[~2011-11-25 3:52 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
2011-11-24 23:27 ` James Steward
2011-11-25 5:42 ` Wolfgang Denk
2011-11-25 3:52 ` James Steward [this message]
2011-11-29 22:58 ` [U-Boot] [Almost solved] " 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=4ECF1110.4050607@inchipdesign.com.au \
--to=j.steward@inchipdesign.com.au \
--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