27 Mar, 2012
1 commit
-
The LD command in examples/standalone/Makefile ignored platform specific
LDFLAGS setup. Pass these LDFLAGS to the command.Signed-off-by: Marek Vasut
Cc: Bryan Hundven
Cc: Michael Schwingen
14 Jan, 2012
1 commit
-
Signed-off-by: Stefan Kristiansson
07 Dec, 2011
1 commit
-
Modify exports.h to remove its dependencies on other files, thus
enabling standalone apps to require only exports.h from the U-Boot
source tree. This appears to be the intent based on the following
note: http://lists.denx.de/pipermail/u-boot/2010-January/067174.htmlSigned-off-by: Mike Partington
16 Nov, 2011
1 commit
-
This patch exports LCD info-query and bitmap-rendering functions to
external apps.This patch is tested on a Seaboard. Because the LCD driver is not yet
upstreamed, the test was done in a local downstream repo.Signed-off-by: Che-Liang Chiou
04 Nov, 2011
1 commit
-
U-Boot Makefiles contain a number of tests for compiler features etc.
which so far are executed again and again. On some architectures
(especially ARM) this results in a large number of calls to gcc.This patch makes sure to run such tests only once, thus largely
reducing the number of "execve" system calls.Example: number of "execve" system calls for building the "P2020DS"
(Power Architecture) and "qong" (ARM) boards, measured as:
-> strace -f -e trace=execve -o /tmp/foo ./MAKEALL
-> grep execve /tmp/foo | wc -lBefore: After: Reduction:
==================================
P2020DS 20555 15205 -26%
qong 31692 14490 -54%As a result, built times are significantly reduced, typically by
30...50%.Signed-off-by: Wolfgang Denk
Cc: Andy Fleming
Cc: Kumar Gala
Cc: Albert Aribaud
cc: Graeme Russ
cc: Mike Frysinger
Tested-by: Graeme Russ
Tested-by: Matthias Weisser
Tested-by: Sanjeev Premi
Tested-by: Simon Glass
Tested-by: Macpaul Lin
Acked-by: Mike Frysinger
22 Oct, 2011
2 commits
-
Add standalone program related support for nds32 architecture.
Signed-off-by: Macpaul Lin
-
The examples/api is not configured with USE_PRIVATE_LIBGCC. This makes
building examples/api break on certain boards that do not/cannot use the
public libgcc.Nevertheless, this patch has to also touch the top-level Makefile to fix
this problem because the current top-level Makefile does not specify
libgcc as a prerequisite of examples/api, and explicitly builds
examples/api _before_ libgcc.For testing this patch, I added the following to configs/seaboard.h and
ran demo.bin on a Seaboard.+#define CONFIG_API
+#define CONFIG_SYS_MMC_MAX_DEVICE 2
+#define CONFIG_CMD_NET
+#define CONFIG_NET_MULTISigned-off-by: Che-Liang Chiou
Acked-by: Mike Frysinger
18 Oct, 2011
1 commit
-
These are various places I found that checked for conditions equivalent
to isblank.Signed-off-by: Jason Hobbs
13 May, 2011
2 commits
-
Noticed while building all of mpc8xx. Also
constify usage string in timer.c
Warnings fixed are:
timer.c: In function 'timer':
timer.c:189: warning: format not a string literal and no format arguments
timer.c:258: warning: format not a string literal and no format arguments
atm.c: In function 'atmUnload':
atm.c:99: warning: array subscript is above array bounds
atm.c: In function 'atmLoad':
atm.c:65: warning: array subscript is above array bounds
codec.c: In function 'codsp_write_pop_int':
codec.c:678: warning: array subscript is above array bounds
codec.c: In function 'codsp_write_cop_short':
codec.c:585: warning: array subscript is above array bounds
codec.c: In function 'codsp_write_sop_int':
codec.c:512: warning: array subscript is above array boundsSigned-off-by: Joakim Tjernlund
-
GNU Makefile have two flavors of variables, recursively expanded that is
defined by using '=', and simply expanded that is defined by using ':='.The bug is caused by using recursively expanded flavor for BIN and SREC.
As you can see below, they are prepended by $(obj) twice.We can reproduce this bug with a simplified version of this Makefile:
$ cat >Makefile <
09 May, 2011
1 commit
-
All architectures but MIPS are using --gc-sections on final linking.
This patch introduces that feature for MIPS to reduce the memory and
flash footprint.Signed-off-by: Daniel Schwierzeck
Cc: Wolfgang Denk
Cc: Stefan Roese
Cc: Thomas Lange
Cc: Vlad Lungu
Signed-off-by: Shinya Kuribayashi
13 Apr, 2011
2 commits
-
Signed-off-by: Graeme Russ
-
Rename STANDALONE_LOAD_ADDR into CONFIG_STANDALONE_LOAD_ADDR
and allow that the architecture-specific default value gets
overwritten by defining the value in the board header file.Signed-off-by: Wolfgang Denk
Cc: Mike Frysinger
Cc: Shinya Kuribayashi
Cc: Daniel Hellstrom
Cc: Tsi Chung Liew
Cc: Nobuhiro Iwamatsu
31 Mar, 2011
1 commit
-
Commit 44c6e65 "rename _end to __bss_end__ broke building of a large
number of systems (at least all PowerPC?):libstubs.o: In function `app_startup':
examples/standalone/stubs.c:197: undefined reference to `__bss_end__'The rename should not be done for the files in the
examples/standalone/ directory, as these are not using the code from
start.S, but do their own BSS clearing, and either use their own
linker scripts or the ones provided by the compilers.Signed-off-by: Po-Yu Chuang
Signed-off-by: Wolfgang Denk
28 Mar, 2011
1 commit
-
Currently, _end is used for end of BSS section. We want _end to mean
end of u-boot image, so we rename _end to __bss_end__ first.Signed-off-by: Po-Yu Chuang
10 Jan, 2011
1 commit
-
One more place that was missed during the do_reset() unification.
Signed-off-by: Mike Frysinger
18 Nov, 2010
1 commit
-
Before this commit, weak symbols were not overridden by non-weak symbols
found in archive libraries when linking with recent versions of
binutils. As stated in the System V ABI, "the link editor does not
extract archive members to resolve undefined weak symbols".This commit changes all Makefiles to use partial linking (ld -r) instead
of creating library archives, which forces all symbols to participate in
linking, allowing non-weak symbols to override weak symbols as intended.
This approach is also used by Linux, from which the gmake function
cmd_link_o_target (defined in config.mk and used in all Makefiles) is
inspired.The name of each former library archive is preserved except for
extensions which change from ".a" to ".o". This commit updates
references accordingly where needed, in particular in some linker
scripts.This commit reveals board configurations that exclude some features but
include source files that depend these disabled features in the build,
resulting in undefined symbols. Known such cases include:
- disabling CMD_NET but not CMD_NFS;
- enabling CONFIG_OF_LIBFDT but not CONFIG_QE.Signed-off-by: Sebastien Carlier
13 Oct, 2010
1 commit
-
Using -fno-toplevel-reorder causes gcc to not reorder functions. This
ensures that an application's entry point will be the first function in
the application's source file.This change, along with commit 620bbba524fbaa26971a5004793010b169824f1b
should cause a standalone application's entry point to be at the base of
the compiled binary. Previously, the entry point could change depending
on gcc version and flags.Note -fno-toplevel-reorder is only available in gcc version 4.2 or
greater.Signed-off-by: Peter Tyser
04 Sep, 2010
1 commit
-
From the document, if set all arguments in "OUTPUT_FORMAT" to
"tradbigmips", then even add "-EL" to gcc we still get EB format.pb1x00 is only used in Little-endian, so its default endian should be
set to LE.Signed-off-by: Xiangfu Liu
Signed-off-by: Shinya Kuribayashi
12 Jul, 2010
1 commit
-
The smc911x_detect function in /net/driver/net/smc911x.c
returns a 0 if everything was ok (a chip was found) and -1 else.
In the standalone example 'smc911x_eeprom' the return value
of smc911x_detect is interpreted in a different way
(0 for error, !0 as OK).
This leads to the error that the chip will not be detected.Signed-off-by: Juergen Kilb
Acked-by: Mike FrysingerSigned-off-by: Ben Warren
05 Jul, 2010
2 commits
-
The hush shell dynamically allocates (and re-allocates) memory for the
argument strings in the "char *argv[]" argument vector passed to
commands. Any code that modifies these pointers will cause serious
corruption of the malloc data structures and crash U-Boot, so make
sure the compiler can check that no such modifications are being done
by changing the code into "char * const argv[]".This modification is the result of debugging a strange crash caused
after adding a new command, which used the following argument
processing code which has been working perfectly fine in all Unix
systems since version 6 - but not so in U-Boot:int main (int argc, char **argv)
{
while (--argc > 0 && **++argv == '-') {
/* ====> */ while (*++*argv) {
switch (**argv) {
case 'd':
debug++;
break;
...
default:
usage ();
}
}
}
...
}The line marked "====>" will corrupt the malloc data structures and
usually cause U-Boot to crash when the next command gets executed by
the shell. With the modification, the compiler will prevent this with
an
error: increment of read-only location '*argv'N.B.: The code above can be trivially rewritten like this:
while (--argc > 0 && **++argv == '-') {
char *arg = *argv;
while (*++arg) {
switch (*arg) {
...Signed-off-by: Wolfgang Denk
Acked-by: Mike Frysinger -
Change the return type of the *printf() functions to the standard
"int"; no changes are needed but returning the already available
length count.This will save a few additional strlen() calls later...
Signed-off-by: Wolfgang Denk
30 Jun, 2010
1 commit
-
Previously, standalone applications were compiled with gcc flags that
produced relocatable executables on the PowerPC architecture (eg with
the -mrelocatable and -fPIC flags). There's no reason for these
applications to be fully relocatable at this time since no relocation
fixups are performed on standalone applications.Additionally, removing the gcc relocation flags results in the entry
point of applications residing at the base of the image. When
a standalone application was relocatable, the entry point was generally
located at an offset into the image which was confusing and prone to
errors.This change moves the entry point of PowerPC standalone applications
from 0x40004 (usually) to 0x40000.Signed-off-by: Peter Tyser
Signed-off-by: Wolfgang Denk
28 May, 2010
2 commits
-
The nios-32 arch is obsolete and broken. So it is removed.
Signed-off-by: Thomas Chou
-
The "-ffixed-r15" option doesn't work well for gcc4. Since we
don't use gp for small data with option "-G0", we can use gp
as global data pointer. This allows compiler to use r15. It
is necessary for gcc4 to work properly.Signed-off-by: Thomas Chou
Signed-off-by: Scott McNutt
22 Apr, 2010
1 commit
-
As discussed on the list, move "arch/ppc" to "arch/powerpc" to
better match the Linux directory structure.Please note that this patch also changes the "ppc" target in
MAKEALL to "powerpc" to match this new infrastructure. But "ppc"
is kept as an alias for now, to not break compatibility with
scripts using this name.Signed-off-by: Stefan Roese
Acked-by: Wolfgang Denk
Acked-by: Detlev Zundel
Acked-by: Kim Phillips
Cc: Peter Tyser
Cc: Anatolij Gustschin
13 Apr, 2010
3 commits
-
Signed-off-by: Peter Tyser
-
Now that the other architecture-specific lib directories have been
moved out of the top-level directory there's not much reason to have the
'_generic' suffix on the common lib directory.Signed-off-by: Peter Tyser
-
Also move lib_$ARCH/config.mk to arch/$ARCH/config.mk
This change is intended to clean up the top-level directory structure
and more closely mimic Linux's directory organization.Signed-off-by: Peter Tyser
13 Mar, 2010
2 commits
-
Building examples/standalone/eepro100_eeprom triggers this error:
In file included from include/common.h:629,
from eepro100_eeprom.c:24:
include/net.h: In function 'NetReadIP':
include/net.h:430: warning: implicit declaration of function 'memcpy'
eepro100_eeprom.c: At top level:
eepro100_eeprom.c:81: error: conflicting types for 'memcpy'
include/net.h:430: error: previous implicit declaration of 'memcpy' was hereFix this.
Signed-off-by: Wolfgang Denk
-
Signed-off-by: Wolfgang Denk
01 Feb, 2010
1 commit
-
Building for a bf533-stamp ends up with this error:
smc91111_eeprom.o: In function `smc91111_eeprom':
examples/standalone/smc91111_eeprom.c:58: undefined reference to `memset'
make[2]: *** [smc91111_eeprom] Error 1The new eth_struct definition means gcc has to zero out the structure on
the stack, and some gcc versions optimize this with an implicit call to
memset. So tweak the structure style to avoid that gcc feature.Signed-off-by: Mike Frysinger
Signed-off-by: Ben Warren
19 Jan, 2010
1 commit
-
Commit 6a45e384955262882375a2785426dc65aeb636c4 (Make getenv_IPaddr() global)
inadvertently added ' #include "net.h" ' to the standalone programs, creating
duplicate definitions of 'struct eth_device'. This patch removes the local
definitions and removes other code that breaks due to the change in definition.Signed-off-by: Ben Warren
Acked-by: Mike Frysinger
05 Dec, 2009
2 commits
-
Conflicts:
board/esd/plu405/plu405.c
drivers/rtc/ftrtc010.cSigned-off-by: Wolfgang Denk
-
According to the PPC reference implementation the udelay() function is
responsible for resetting the watchdog timer as frequently as needed.
Most other architectures do not meet that requirement, so long-running
operations might result in a watchdog reset.This patch adds a generic udelay() function which takes care of
resetting the watchdog before calling an architecture-specific
__udelay().Signed-off-by: Ingo van Lil
03 Dec, 2009
2 commits
-
Since the Makefile now controls the compilation of this, there is no need
for CONFIG checking nor the stub function.Signed-off-by: Mike Frysinger
-
Some versions of 'make' do not handle trailing white-spaces
properly. Trailing spaces in ELF causes a 'fake' source to
be added to the variable COBJS; leading to build failure
(listed below). The problem was found with GNU Make 3.80.Using text-function 'strip' as a workaround for the problem.
make[1]: Entering directory `/home/sanjeev/u-boot/examples/standalone'
arm-none-linux-gnueabi-gcc -g -Os -fno-common -ffixed-r8 -msoft-float
-D__KERNEL__ -DTEXT_BASE=0x80e80000 -I/home/sanjeev/u-boot/include
-fno-builtin -ffreestanding -nostdinc -isystem /opt/codesourcery/2009q1-
203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include -pipe -DCONFIG_
ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5
-Wall -Wstrict-prototypes -fno-stack-protector -g -Os -fno-common -ff
ixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x80e80000 -I/home/sanje
ev/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/co
desourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/includ
e -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-inte
rwork -march=armv5 -I.. -Bstatic -T u-boot.lds -Ttext 0x80e80000 -o .c
arm-none-linux-gnueabi-gcc: no input files
make[1]: *** [.c] Error 1
make[1]: Leaving directory `/home/sanjeev/u-boot/examples/standalone'
make: *** [examples/standalone] Error 2
premi #Signed-off-by: Sanjeev Premi
Fixed typo (s/ElF/ELF/).
Signed-off-by: Wolfgang Denk
24 Nov, 2009
1 commit
-
the standalone examples.
Signed-off-by: Scott McNutt
13 Nov, 2009
1 commit
-
When the smc911x driver was converted to NET_MULTI, the smc911x eeprom was
missed. The config option needed updating as well as overhauling of the
rergister read/write functions.Signed-off-by: Mike Frysinger
Tested-by: Mike Rapoport
Signed-off-by: Ben Warren
27 Oct, 2009
1 commit
-
Signed-off-by: Sergey Mironov
Signed-off-by: Daniel Hellstrom