<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/config.mk, branch v2011.12</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>config.mk: use memoization in cc-option macro to speed up compilation</title>
<updated>2011-11-07T20:56:11+00:00</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@googlemail.com</email>
</author>
<published>2011-11-07T05:26:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b6a467d73d8847e2307e7e95768e3287d51a9fe6'/>
<id>b6a467d73d8847e2307e7e95768e3287d51a9fe6</id>
<content type='text'>
Apply memoization to cc-option macro by caching the results of the
gcc calls. This macro is called very often so using cached results
leads to faster compilation times.

The old behaviour can be restored by defining the config option
CONFIG_CC_OPT_CACHE_DISABLE=y.

Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply memoization to cc-option macro by caching the results of the
gcc calls. This macro is called very often so using cached results
leads to faster compilation times.

The old behaviour can be restored by defining the config option
CONFIG_CC_OPT_CACHE_DISABLE=y.

Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&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>fdt: Add support for embedded device tree (CONFIG_OF_EMBED)</title>
<updated>2011-10-26T19:38:59+00:00</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2011-10-15T05:48:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bbb0b128c3956ac549471addc314702fbe0ace63'/>
<id>bbb0b128c3956ac549471addc314702fbe0ace63</id>
<content type='text'>
This new option allows U-Boot to embed a binary device tree into its image
to allow run-time control of peripherals. This device tree is for U-Boot's
own use and is not necessarily the same one as is passed to the kernel.

The device tree compiler output should be placed in the $(obj)
rooted tree. Since $(OBJCOPY) insists on adding the path to the
generated symbol names, to ensure consistency it should be
invoked from the directory where the .dtb file is located and
given the input file name without the path.

This commit contains my entry for the ugliest Makefile / shell interaction
competition.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This new option allows U-Boot to embed a binary device tree into its image
to allow run-time control of peripherals. This device tree is for U-Boot's
own use and is not necessarily the same one as is passed to the kernel.

The device tree compiler output should be placed in the $(obj)
rooted tree. Since $(OBJCOPY) insists on adding the path to the
generated symbol names, to ensure consistency it should be
invoked from the directory where the .dtb file is located and
given the input file name without the path.

This commit contains my entry for the ugliest Makefile / shell interaction
competition.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: force migration away from $(AR)</title>
<updated>2011-10-21T23:19:28+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@gentoo.org</email>
</author>
<published>2011-10-12T19:25:20+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5968adc4146aac76e5597da3b52a51efb42d9179'/>
<id>5968adc4146aac76e5597da3b52a51efb42d9179</id>
<content type='text'>
People keep adding new code that still uses $(AR) instead of
$(cmd_link_o_target), so turn it into a build time error.

We still use $(AR) locally, but we don't use $(ARFLAGS).

Signed-off-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
People keep adding new code that still uses $(AR) instead of
$(cmd_link_o_target), so turn it into a build time error.

We still use $(AR) locally, but we don't use $(ARFLAGS).

Signed-off-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust dependency rules to permit per-file flags</title>
<updated>2011-10-17T21:56:59+00:00</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2011-10-07T13:53:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=47508843061b8dd9455ec86df00d56b462f2a5c9'/>
<id>47508843061b8dd9455ec86df00d56b462f2a5c9</id>
<content type='text'>
The dependency rules are currently done in a shell 'for' loop. This does not
permit Makefile variables to adjust preprocessor flags as is done with normal
compile flags, using the CFLAGS_path/file.o syntax.

This change moves the dependency generation into the Makefile itself, and
permits a CPPFLAGS_path/file.o to adjust preprocessor flags on a file or
directory basis.

The CPPFLAGS_... variable is also folded into CFLAGS during the build.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The dependency rules are currently done in a shell 'for' loop. This does not
permit Makefile variables to adjust preprocessor flags as is done with normal
compile flags, using the CFLAGS_path/file.o syntax.

This change moves the dependency generation into the Makefile itself, and
permits a CPPFLAGS_path/file.o to adjust preprocessor flags on a file or
directory basis.

The CPPFLAGS_... variable is also folded into CFLAGS during the build.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>disable security warning flags when possible</title>
<updated>2011-07-26T14:35:50+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@gentoo.org</email>
</author>
<published>2011-04-25T08:06:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6262e4e74e2cdb9f231dc71c9893d4a4bd1e88df'/>
<id>6262e4e74e2cdb9f231dc71c9893d4a4bd1e88df</id>
<content type='text'>
Some toolchains enable security warning flags by default, but these don't
really make sense in the u-boot world.  Such as forcing changes like:
	-printf(foo);
	+printf("%s", foo);

So disable the flags when the compiler supports them.  Linux has already
merged a similar change in their build system.

Signed-off-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some toolchains enable security warning flags by default, but these don't
really make sense in the u-boot world.  Such as forcing changes like:
	-printf(foo);
	+printf("%s", foo);

So disable the flags when the compiler supports them.  Linux has already
merged a similar change in their build system.

Signed-off-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Extend build-system for SPL framework</title>
<updated>2011-07-26T12:42:40+00:00</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@googlemail.com</email>
</author>
<published>2011-07-18T06:09:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c8f9c302c26ba0e3a398ebe8005dc2a8b489cc2b'/>
<id>c8f9c302c26ba0e3a398ebe8005dc2a8b489cc2b</id>
<content type='text'>
Signed-off-by: Aneesh V &lt;aneesh@ti.com&gt;
Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Aneesh V &lt;aneesh@ti.com&gt;
Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>config.mk: move LDSCRIPT processing to the top-level Makefile</title>
<updated>2011-06-22T18:03:01+00:00</updated>
<author>
<name>Ilya Yanok</name>
<email>yanok@emcraft.com</email>
</author>
<published>2011-06-20T12:45:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d51dfff7af2ad30c54a4fb99539f3fa4275a1573'/>
<id>d51dfff7af2ad30c54a4fb99539f3fa4275a1573</id>
<content type='text'>
LDSCRIPT is used only from the top-level Makefile and only when the
system is configured so we can move LDSCRIPT and CONFIG_SYS_LDSCRIPT
related logic into the top level Makefile and under configured condition
to avoid errors when building tools from unconfigured tree.

Signed-off-by: Ilya Yanok &lt;yanok@emcraft.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LDSCRIPT is used only from the top-level Makefile and only when the
system is configured so we can move LDSCRIPT and CONFIG_SYS_LDSCRIPT
related logic into the top level Makefile and under configured condition
to avoid errors when building tools from unconfigured tree.

Signed-off-by: Ilya Yanok &lt;yanok@emcraft.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle most LDSCRIPT setting centrally</title>
<updated>2011-04-29T22:59:47+00:00</updated>
<author>
<name>Scott Wood</name>
<email>scottwood@freescale.com</email>
</author>
<published>2011-04-06T13:31:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=83b7e2a7f2f9cf7651e623c75aa9a27ad6488fb3'/>
<id>83b7e2a7f2f9cf7651e623c75aa9a27ad6488fb3</id>
<content type='text'>
Currently, some linker scripts are found by common code in config.mk.
Some are found using CONFIG_SYS_LDSCRIPT, but the code for that is
sometimes in arch config.mk and sometimes in board config.mk.  Some
are found using an arch-specific rule for looking in CPUDIR, etc.

Further, the powerpc config.mk rule relied on CONFIG_NAND_SPL
when it really wanted CONFIG_NAND_U_BOOT -- which covered up the fact
that not all NAND_U_BOOT builds actually wanted CPUDIR/u-boot-nand.lds.

Replace all of this -- except for a handful of boards that are actually
selecting a linker script in a unique way -- with centralized ldscript
finding.

If board code specifies LDSCRIPT, that will be used.
Otherwise, if CONFIG_SYS_LDSCRIPT is specified, that will be used.

If neither of these are specified, then the central config.mk will
check for the existence of the following, in order:

$(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
$(TOPDIR)/$(CPUDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
$(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
$(TOPDIR)/$(CPUDIR)/u-boot.lds

Some boards (sc3, cm5200, munices) provided their own u-boot.lds that
were dead code, because they were overridden by a CPUDIR u-boot.lds under
the old powerpc rules.  These boards' own u-boot.lds have bitrotted and
no longer work -- these lds files have been removed.

Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Tested-by: Graeme Russ &lt;graeme.russ@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, some linker scripts are found by common code in config.mk.
Some are found using CONFIG_SYS_LDSCRIPT, but the code for that is
sometimes in arch config.mk and sometimes in board config.mk.  Some
are found using an arch-specific rule for looking in CPUDIR, etc.

Further, the powerpc config.mk rule relied on CONFIG_NAND_SPL
when it really wanted CONFIG_NAND_U_BOOT -- which covered up the fact
that not all NAND_U_BOOT builds actually wanted CPUDIR/u-boot-nand.lds.

Replace all of this -- except for a handful of boards that are actually
selecting a linker script in a unique way -- with centralized ldscript
finding.

If board code specifies LDSCRIPT, that will be used.
Otherwise, if CONFIG_SYS_LDSCRIPT is specified, that will be used.

If neither of these are specified, then the central config.mk will
check for the existence of the following, in order:

$(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
$(TOPDIR)/$(CPUDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
$(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
$(TOPDIR)/$(CPUDIR)/u-boot.lds

Some boards (sc3, cm5200, munices) provided their own u-boot.lds that
were dead code, because they were overridden by a CPUDIR u-boot.lds under
the old powerpc rules.  These boards' own u-boot.lds have bitrotted and
no longer work -- these lds files have been removed.

Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Tested-by: Graeme Russ &lt;graeme.russ@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a new linker flag LDFLAGS_FINAL</title>
<updated>2011-03-22T22:32:06+00:00</updated>
<author>
<name>Haiying Wang</name>
<email>Haiying.Wang@freescale.com</email>
</author>
<published>2011-02-22T21:38:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6dc1eceb9c5f42216f1ba0e0ef538015b0aa10bc'/>
<id>6dc1eceb9c5f42216f1ba0e0ef538015b0aa10bc</id>
<content type='text'>
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS

breaks the usage of --gc-section to build nand_spl. We still need linker option
--gc-section for every uboot image, not only the main one. LDFLAGS_FINAL passes
the --gc-sections to each uboot image.

To get the proper linker flags, we use LDFLAGS and LDFLAGS_FINAL to replace
PLATFORM_LDFLAGS in the Makefile of each nand_spl board.

Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: Haiying Wang &lt;Haiying.Wang@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS

breaks the usage of --gc-section to build nand_spl. We still need linker option
--gc-section for every uboot image, not only the main one. LDFLAGS_FINAL passes
the --gc-sections to each uboot image.

To get the proper linker flags, we use LDFLAGS and LDFLAGS_FINAL to replace
PLATFORM_LDFLAGS in the Makefile of each nand_spl board.

Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: Haiying Wang &lt;Haiying.Wang@freescale.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
