M5282EVB undefined reference to `environment'
Hi,
I'm trying to build U-Boot for the above mentioned board. Basically, I've done the following on a Ubuntu 10.04:
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/freescale-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
||make| all
At the very last stage of linking, I get...
common/libcommon.o:(.data.rel.env_ptr+0x0): undefined reference to `environment'
make: *** [u-boot] Error 1
Can someone help me fix this, please?
Regards,
James.
Quoted 20 lines
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.bz2sudo 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
Quoted 7 lines
git clone ||git://git.denx.de/u-boot-coldfire.git
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_config
try ./MAKEALL M5282EVB ... I suspect you don't have CROSS_COMPILE=your-crosscc- prefix variable set, and maybe ARCH=m68k variable too.
Quoted 13 lines
||make| all
At the very last stage of linking, I get...
common/libcommon.o:(.data.rel.env_ptr+0x0): undefined reference to `environment'
make: *** [u-boot] Error 1Can someone help me fix this, please?
Regards,
James.
Quoted 22 lines · Marek Vasut
Quoted 22 lines
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.bz2sudo 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
Quoted 8 lines
Quoted 5 lines
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_configtry ./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?
Regards,
James.
Hi James,
Quoted 54 lines · James Steward
Quoted 22 lines · Marek Vasut
Quoted 22 lines
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.bz2sudo 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
Quoted 8 lines
Quoted 5 lines
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_configtry ./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 'signedsize_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
Quoted 6 lines
--------------------- 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?
Signature · 2 lines
Regards, Igor.
Hi Igor,
Quoted 57 lines · Igor Grinberg
Hi James,
Quoted 54 lines · James Steward
Quoted 22 lines · Marek Vasut
Quoted 22 lines
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.bz2sudo 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
Quoted 8 lines
Quoted 5 lines
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_configtry ./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 'signedsize_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
Quoted 10 lines
Quoted 6 lines
--------------------- 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_EMBEDDEDset?
A search with grep CONFIG_ENV_IS_EMBEDDED find . -name "*.h" indicates the answer is no. Should it be set?
With grep CONFIG_ENV_IS_ find . -name "*.h" ininclude/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
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?
Regards,
James.
Quoted 65 lines · James Steward
Hi Igor,
Quoted 62 lines · Igor Grinberg
Hi James,
Quoted 59 lines · James Steward
Quoted 22 lines · Marek Vasut
Quoted 22 lines
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.bz2sudo 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
Quoted 8 lines
Quoted 5 lines
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_configtry ./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 'signedsize_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 )
----------------------------------------------------------
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
Any other thoughts? Do I need to define something to configure the environment to flash or something?
Do you have
CONFIG_ENV_IS_EMBEDDEDset?A search with grep
CONFIG_ENV_IS_EMBEDDEDfind . -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.
Quoted 11 lines
With grep
CONFIG_ENV_IS_find . -name "*.h"ininclude/configs/M5282EVB.h, I see #defineCONFIG_ENV_IS_IN_FLASH1So 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.
Quoted 2 lines
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.
Signature · 2 lines
Regards, Igor.
Quoted 91 lines · Igor Grinberg
Quoted 65 lines · James Steward
Hi Igor,
Quoted 62 lines · Igor Grinberg
Hi James,
Quoted 59 lines · James Steward
Quoted 22 lines · Marek Vasut
Quoted 22 lines
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.bz2sudo 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
Quoted 8 lines
Quoted 5 lines
||cd u-boot-coldfire || ||make cleanmake
M5282EVB_configtry ./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 'signedsize_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 )
----------------------------------------------------------Quoted 7 lines
Quoted 5 lines
Quoted 1 line
Any other thoughts? Do I need to define something to configure the environment to flash or something?
Do you have
CONFIG_ENV_IS_EMBEDDEDset?A search with grep
CONFIG_ENV_IS_EMBEDDEDfind . -name "*.h"indicates the answer is no. Should it be set?AFAIK, environment variable is used only when you have
ENV_IS_EMBEDDEDset. Also, there is some logic in theinclude/environment.hfiles (in current master line 64), that decides whether to set this automatically or not.Quoted 11 lines
With grep
CONFIG_ENV_IS_find . -name "*.h"ininclude/configs/M5282EVB.h, I see #defineCONFIG_ENV_IS_IN_FLASH1So 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
Quoted 2 lines
Look at the logic in
environment.hto check ifENV_IS_EMBEDDEDgets set in your case.
Indeed...
# if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \
(CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) <= (CONFIG_SYS_MONITOR_BASE +
CONFIG_SYS_MONITOR_LEN)
# define ENV_IS_EMBEDDED 1
#error "Defining ENV_IS_EMBEDDED"
# endifproduces
include/environment.h:66:2: error: #error "Defining ENV_IS_EMBEDDED"
So this is saying that if the environment exists within the flash space allocated to u-boot, make it so embedded. Ok, fine, so in common/env_flash.c I see;
#ifdef ENV_IS_EMBEDDEDenv_t *env_ptr = &environment;
static env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
#else /* ! ENV_IS_EMBEDDED */
I guess the variable environment is not defined, but where should it be defined? There are a lot of hits when I search.
Quoted 9 lines
Quoted 2 lines
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_EMBEDDEDis broken for some time already.
Ok, I just grabbed u-boot.git instead and ...
common/libcommon.o:(.data.rel.env_ptr+0x0): undefined reference to `environment'
Where do I look next?
General remark and question:
After building a multitude of open source projects for x86 and cross compiling for ARM, including cross compiling the Linux kernel and writing some simple kernel drivers, and writing bare metal code for the likes of the STM32 and including CanFestival, for example, U-boot has been the most frustrating and difficult project for me to build and make work of all. Is it because there are too many board ports contributed but not maintained?
Regards,
James.
Quoted 16 lines · Igor Grinberg
Quoted 2 lines · James Steward
A search with grep
CONFIG_ENV_IS_EMBEDDEDfind . -name "*.h"indicates the answer is no. Should it be set?AFAIK, environment variable is used only when you have
ENV_IS_EMBEDDEDset. Also, there is some logic in theinclude/environment.hfiles (in current master line 64), that decides whether to set this automatically or not.Quoted 7 lines
With grep
CONFIG_ENV_IS_find . -name "*.h"ininclude/configs/M5282EVB.h, I see #defineCONFIG_ENV_IS_IN_FLASH1So looking in that file I see:
Quoted 7 lines
Quoted 4 lines
/* Configuration for environment * Environment is embedded in u-boot in the second sector of the flash */ #define
CONFIG_ENV_ADDR0xffe04000#defineCONFIG_ENV_SIZE0x2000#defineCONFIG_ENV_IS_IN_FLASH1Look at the logic in
environment.hto check ifENV_IS_EMBEDDEDgets 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.
Dear James Steward,
Quoted 3 lines · In message <[email protected]> you wrote:
I guess the variable environment is not defined, but where should it be defined? There are a lot of hits when I search.
When embedding the environment, you must set up a specific memory mep. This is done in the linker script, so this definition is usually found there.
Quoted 7 lines
After building a multitude of open source projects for x86 and cross compiling for ARM, including cross compiling the Linux kernel and writing some simple kernel drivers, and writing bare metal code for the likes of the STM32 and including CanFestival, for example, U-boot has been the most frustrating and difficult project for me to build and make work of all. Is it because there are too many board ports contributed but not maintained?
Out-of-tree code is always a pain. But the real problem comes from the complexity of the hardware we have to deal with in the boot loader. After all, we have to do all the low-level initializations all higher software levels (including Linux) just take for granted.
Best regards,
Wolfgang Denk
Signature · 7 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
\|/ ____ \|/ \|/ ____ \|/
@~/ ,. \~@ @~/ ,. \~@
/_( \__/ )_\ /_( \__/ )_\
\__U_/ \__U_/Quoted 11 lines · James Steward
So it compiles
env_embedded.c, but doesn't include it in libcommon.o?<hack>
vim common/MakefileXCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
becomes
COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
Quoted 8 lines
:q
</hack>make all
Hey, presto, build now completes!
So how should this be corrected properly?
Can anyone suggest how the build process should be fixed?
Regards,
James.
Quoted 16 lines · James Steward
Quoted 14 lines · James Steward
So it compiles
env_embedded.c, but doesn't include it in libcommon.o?<hack>
vim common/MakefileXCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
becomes
COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
:q
</hack>
Quoted 7 lines
Quoted 5 lines
make all
Hey, presto, build now completes!
So how should this be corrected properly?
Can anyone suggest how the build process should be fixed?
I don't fully understand the logic behind what's done to have ENV_IS_EMBEDDED, as it is used mostly on architectures I haven't worked with (at least till now).
So, probably, I will not be the right person to ask...
My suggestion would be to look into those linker scripts, Wolfgang mentioned in one of the previous emails and if you think it should be done in some different way, send a patch and start a discussion. But, really, I'm not the right person to ask...
Signature · 2 lines
Regards, Igor.
Quoted 30 lines · Igor Grinberg
Quoted 16 lines · James Steward
Quoted 14 lines · James Steward
So it compiles
env_embedded.c, but doesn't include it in libcommon.o?<hack>
vim common/MakefileXCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
becomes
COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
:q
</hack>Quoted 7 lines
Quoted 5 lines
make all
Hey, presto, build now completes!
So how should this be corrected properly?
Can anyone suggest how the build process should be fixed?
I don't fully understand the logic behind what's done to have
ENV_IS_EMBEDDED, as it is used mostly on architectures I haven't worked with (at least till now).
So, probably, I will not be the right person to ask...
Quoted 6 lines
My suggestion would be to look into those linker scripts, Wolfgang mentioned in one of the previous emails and if you think it should be done in some different way, send a patch and start a discussion. But, really, I'm not the right person to ask...
Thanks for your help so far, Igor. I'm going to unsubscribe from this list as the volume of email is huge and mostly not interesting to me. If I come up with a possible solution, I'll subscribe and send a patch.
Regards,
James.