<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/examples/standalone/Makefile, branch v2013.10</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<entry>
<title>Revert "standalone-examples: support custom GCC lib"</title>
<updated>2013-09-12T14:27:29+00:00</updated>
<author>
<name>Tom Rini</name>
<email>trini@ti.com</email>
</author>
<published>2013-09-10T13:51:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8386ca8bea7a6a8469c3b6a99313afb642e6cbeb'/>
<id>8386ca8bea7a6a8469c3b6a99313afb642e6cbeb</id>
<content type='text'>
After further testing, this patch has two problems.  First,
examples/standalone/Makefile was already inherting PLATFORM_LIBS from
the top-level Makefile so this lead to duplicating the private libgcc.
Second, currently the private libgcc has a reference to 'hang' that is
not being fulfilled.

This reverts commit 4412db46468d5965da736d06f84d13e68a6e0b51.

Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After further testing, this patch has two problems.  First,
examples/standalone/Makefile was already inherting PLATFORM_LIBS from
the top-level Makefile so this lead to duplicating the private libgcc.
Second, currently the private libgcc has a reference to 'hang' that is
not being fulfilled.

This reverts commit 4412db46468d5965da736d06f84d13e68a6e0b51.

Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>standalone-examples: support custom GCC lib</title>
<updated>2013-09-06T17:09:07+00:00</updated>
<author>
<name>Jack Mitchell</name>
<email>jack.mitchell@dbbroadcast.co.uk</email>
</author>
<published>2013-07-16T13:44:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4412db46468d5965da736d06f84d13e68a6e0b51'/>
<id>4412db46468d5965da736d06f84d13e68a6e0b51</id>
<content type='text'>
Add support for defining the gcc lib in standalone examples as is
done in the main u-boot Makefile

Signed-off-by: Jack Mitchell &lt;jack.mitchell@dbbroadcast.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for defining the gcc lib in standalone examples as is
done in the main u-boot Makefile

Signed-off-by: Jack Mitchell &lt;jack.mitchell@dbbroadcast.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add GPL-2.0+ SPDX-License-Identifier to source files</title>
<updated>2013-07-24T13:44:38+00:00</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2013-07-08T07:37:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1a4596601fd395f3afb8f82f3f840c5e00bdd57a'/>
<id>1a4596601fd395f3afb8f82f3f840c5e00bdd57a</id>
<content type='text'>
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Examples: Properly append LDFLAGS to LD command</title>
<updated>2012-03-26T21:09:25+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2012-03-05T23:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e0e7f3b210ce553c6caab05b71891a1279eb551e'/>
<id>e0e7f3b210ce553c6caab05b71891a1279eb551e</id>
<content type='text'>
The LD command in examples/standalone/Makefile ignored platform specific
LDFLAGS setup. Pass these LDFLAGS to the command.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Bryan Hundven &lt;bryanhundven@gmail.com&gt;
Cc: Michael Schwingen &lt;rincewind@discworld.dascon.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The LD command in examples/standalone/Makefile ignored platform specific
LDFLAGS setup. Pass these LDFLAGS to the command.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Bryan Hundven &lt;bryanhundven@gmail.com&gt;
Cc: Michael Schwingen &lt;rincewind@discworld.dascon.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce build times</title>
<updated>2011-11-03T19:44:58+00:00</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2011-11-01T20:54:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cca4e4aec1fe52e5ecd15e3cebdbb36e2f254220'/>
<id>cca4e4aec1fe52e5ecd15e3cebdbb36e2f254220</id>
<content type='text'>
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:
	-&gt; strace -f -e trace=execve -o /tmp/foo ./MAKEALL &lt;board&gt;
	-&gt; grep execve /tmp/foo | wc -l

	Before: 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 &lt;wd@denx.de&gt;
Cc: Andy Fleming &lt;afleming@gmail.com&gt;
Cc: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Cc: Albert Aribaud &lt;albert.aribaud@free.fr&gt;
cc: Graeme Russ &lt;graeme.russ@gmail.com&gt;
cc: Mike Frysinger &lt;vapier@gentoo.org&gt;
Tested-by: Graeme Russ &lt;graeme.russ@gmail.com&gt;
Tested-by: Matthias Weisser &lt;weisserm@arcor.de&gt;
Tested-by: Sanjeev Premi &lt;premi@ti.com&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Macpaul Lin &lt;macpaul@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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:
	-&gt; strace -f -e trace=execve -o /tmp/foo ./MAKEALL &lt;board&gt;
	-&gt; grep execve /tmp/foo | wc -l

	Before: 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 &lt;wd@denx.de&gt;
Cc: Andy Fleming &lt;afleming@gmail.com&gt;
Cc: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Cc: Albert Aribaud &lt;albert.aribaud@free.fr&gt;
cc: Graeme Russ &lt;graeme.russ@gmail.com&gt;
cc: Mike Frysinger &lt;vapier@gentoo.org&gt;
Tested-by: Graeme Russ &lt;graeme.russ@gmail.com&gt;
Tested-by: Matthias Weisser &lt;weisserm@arcor.de&gt;
Tested-by: Sanjeev Premi &lt;premi@ti.com&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Macpaul Lin &lt;macpaul@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix variable flavor in examples/standalone/Makefile</title>
<updated>2011-05-12T20:25:16+00:00</updated>
<author>
<name>Che-liang Chiou</name>
<email>clchiou@chromium.org</email>
</author>
<published>2011-02-21T21:07:00+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0da43893dda8be14b18b2b12dcc48a5e356a742e'/>
<id>0da43893dda8be14b18b2b12dcc48a5e356a742e</id>
<content type='text'>
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 &gt;Makefile &lt;&lt;\EOF
obj := /path/to/obj/
ELF := hello_world

BIN_rec = $(addsuffix .bin,$(ELF))      # recursively expanded
BIN_sim := $(addsuffix .bin,$(ELF))     # simply expanded

ELF := $(addprefix $(obj),$(ELF))
BIN_rec := $(addprefix $(obj),$(BIN_rec))
BIN_sim := $(addprefix $(obj),$(BIN_sim))

show:
	@echo BIN_rec=$(BIN_rec)
	@echo BIN_sim=$(BIN_sim)

.PHONY: show
EOF
$ make show
BIN_rec=/path/to/obj//path/to/obj/hello_world.bin
BIN_sim=/path/to/obj/hello_world.bin

Signed-off-by: Che-Liang Chiou &lt;clchiou@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &gt;Makefile &lt;&lt;\EOF
obj := /path/to/obj/
ELF := hello_world

BIN_rec = $(addsuffix .bin,$(ELF))      # recursively expanded
BIN_sim := $(addsuffix .bin,$(ELF))     # simply expanded

ELF := $(addprefix $(obj),$(ELF))
BIN_rec := $(addprefix $(obj),$(BIN_rec))
BIN_sim := $(addprefix $(obj),$(BIN_sim))

show:
	@echo BIN_rec=$(BIN_rec)
	@echo BIN_sim=$(BIN_sim)

.PHONY: show
EOF
$ make show
BIN_rec=/path/to/obj//path/to/obj/hello_world.bin
BIN_sim=/path/to/obj/hello_world.bin

Signed-off-by: Che-Liang Chiou &lt;clchiou@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make STANDALONE_LOAD_ADDR configurable per board</title>
<updated>2011-04-12T20:58:32+00:00</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2011-02-04T13:25:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8ae86b76c648d8bef97241c78e2fddb1c4f164d3'/>
<id>8ae86b76c648d8bef97241c78e2fddb1c4f164d3</id>
<content type='text'>
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 &lt;wd@denx.de&gt;
Cc: Mike Frysinger &lt;vapier@gentoo.org&gt;
Cc: Shinya Kuribayashi &lt;skuribay@ruby.dti.ne.jp&gt;
Cc: Daniel Hellstrom &lt;daniel@gaisler.com&gt;
Cc: Tsi Chung Liew &lt;tsi-chung.liew@freescale.com&gt;
Cc: Nobuhiro Iwamatsu &lt;iwamatsu@nigauri.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;wd@denx.de&gt;
Cc: Mike Frysinger &lt;vapier@gentoo.org&gt;
Cc: Shinya Kuribayashi &lt;skuribay@ruby.dti.ne.jp&gt;
Cc: Daniel Hellstrom &lt;daniel@gaisler.com&gt;
Cc: Tsi Chung Liew &lt;tsi-chung.liew@freescale.com&gt;
Cc: Nobuhiro Iwamatsu &lt;iwamatsu@nigauri.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch from archive libraries to partial linking</title>
<updated>2010-11-17T20:02:18+00:00</updated>
<author>
<name>Sebastien Carlier</name>
<email>sebastien.carlier@gmail.com</email>
</author>
<published>2010-11-05T14:48:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6d8962e814c15807dd6ac5757904be2a02d187b8'/>
<id>6d8962e814c15807dd6ac5757904be2a02d187b8</id>
<content type='text'>
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 &lt;sebastien.carlier@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;sebastien.carlier@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>examples/standalone: Use gcc's -fno-toplevel-reorder</title>
<updated>2010-10-12T20:47:03+00:00</updated>
<author>
<name>Peter Tyser</name>
<email>ptyser@xes-inc.com</email>
</author>
<published>2010-09-12T22:38:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c91d456c055237bdadb99a80e198748b8cf32595'/>
<id>c91d456c055237bdadb99a80e198748b8cf32595</id>
<content type='text'>
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 &lt;ptyser@xes-inc.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;ptyser@xes-inc.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>examples/standalone: Remove relocation compile flags for PowerPC</title>
<updated>2010-06-29T20:29:13+00:00</updated>
<author>
<name>Peter Tyser</name>
<email>ptyser@xes-inc.com</email>
</author>
<published>2010-06-15T19:48:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=620bbba524fbaa26971a5004793010b169824f1b'/>
<id>620bbba524fbaa26971a5004793010b169824f1b</id>
<content type='text'>
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 &lt;ptyser@xes-inc.com&gt;
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;ptyser@xes-inc.com&gt;
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
