summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* envtools: make sure version/timestamp header file are availableStefan Agner2017-11-211-1/+1
| | | | | | | | | | | | | | With commit 84d46e7e8948 ("tools: env: allow to print U-Boot version") the fw_env utilities need the version.h header file. Building only the envtools in a pristine build directory will fail due to missing header files. Make sure the header files are a dependency of the envtools target. Fixes: 84d46e7e8948 ("tools: env: allow to print U-Boot version") Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Tested-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Makefile: Correct SPL/TPL/DTB build race conditionM. Vefa Bicakci2017-11-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | When building on a multi-core machine for an SPL-enabled board that also uses CONFIG_OF_EMBED, the following error can be encountered due to a race condition: make[3]: *** No rule to make target 'spl/dts/dt.dtb.o', needed by 'spl/dts/built-in.o'. Stop. ../scripts/Makefile.spl:364: recipe for target 'spl/dts' failed make[2]: *** [spl/dts] Error 2 make[2]: *** Waiting for unfinished jobs.... A reliable way to trigger this race condition is to add "sleep 60" to the end of the "arch-dtbs" rule's recipe in "dts/Makefile" and to build U-Boot against a board which uses the CONFIG_OF_EMBED and CONFIG_SPL options using "make -j8" or a similar command. This commit corrects this race condition via the use of CONFIG_OF_EMBED in the same way that commit 3c00a2c8b5e2 ("Makefile: Correct dependency race condition with TPL") and commit 054b3a1e80fc ("dm: Makefile: Build of-platdata before SPL") use CONFIG_OF_SEPARATE. Signed-off-by: M. Vefa Bicakci <m.v.b@runbox.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Makefile: add coccicheck targetHeinrich Schuchardt2017-11-201-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Coccinelle is a program for static code analysis. For details on Coccinelle see http://coccinelle.lip6.fr/ Add scripts/coccicheck copied from Linux kernel v4.14. The coccicheck script executes the tests *.cocci in directory scripts/coccinelle by calling spatch. In Makefile add a coccicheck target. You can use it with make coccicheck MODE=<mode> where mode in patch, report, context, org. Add a copy of Linux v4.14 file Documentation/dev-tools/coccinelle.rst as doc/README.coccinelle. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* pylibfdt: compile pylibfdt only when dtoc/binman is necessaryMasahiro Yamada2017-11-171-15/+2
| | | | | | | | | | | | | | | | | | Currently, pylibfdt is always compiled if swig is installed on your machine. It is really annoying because most of targets (excepts x86, sunxi, rockchip) do not use dtoc or binman. "checkbinman" and "checkdtoc" are wrong. It is odd that the final build stage checks if we have built necessary tools. If your platform depends on dtoc/binman, you must be able to build pylibfdt. If swig is not installed, it should fail immediately. I added PYLIBFDT, DTOC, BINMAN entries to Kconfig. They should be property select:ed by platforms that need them. Kbuild will descend into scripts/dtc/pylibfdt/ only when CONFIG_PYLIBFDT is enabled. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pylibfdt: move pylibfdt to scripts/dtc/pylibfdt and refactor makefileMasahiro Yamada2017-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | The pylibfdt is used by dtoc (and, indirectly by binman), but there is no reason why it must be generated in the tools/ directory. Recently, U-Boot switched over to the bundled DTC, and the directory structure under scripts/dtc/ now mirrors the upstream DTC project. So, scripts/dtc/pylibfdt is the best location. I also rewrote the Makefile in a cleaner Kbuild style. The scripts from the upstream have been moved as follows: lib/libfdt/pylibfdt/setup.py -> scripts/dtc/pylibfdt/setup.py lib/libfdt/pylibfdt/libfdt.i -> scripts/dtc/pylibfdt/libfdt.i_shipped The .i_shipped is coped to .i during building because the .i must be located in the objtree when we build it out of tree. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* Prepare v2017.11v2017.11Tom Rini2017-11-131-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.11-rc4v2017.11-rc4Tom Rini2017-11-061-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.11-rc3v2017.11-rc3Tom Rini2017-10-301-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* x86: provide CONFIG_BUILD_ROMHeinrich Schuchardt2017-10-191-1/+1
| | | | | | | | | | | | | | | | Up to now we depended on an exported variable to build u-boot.rom. We should be able to specify it in the configuration file, too. With this patch this becomes possible using the new Kconfig option CONFIG_BUILD_ROM. This option depends on CONFIG_X86 and is selected in qemu-x86_defconfig and qemu-x86_64_defconfig. Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Prepare v2017.11-rc2v2017.11-rc2Tom Rini2017-10-161-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* dts: renamed FIT_EMBED to MULTI_DTB_FIT and moved it to the dts KconfigJean-Jacques Hiblot2017-10-051-1/+1
| | | | | | | | | | | CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing multiple DTBs. Also move the option to the Kconfig dedicated to the DTS options and create a README for this feature. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Prepare v2017.11-rc1v2017.11-rc1Tom Rini2017-10-021-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* dtc: Switch to building and using our own dtc unless providedTom Rini2017-09-241-8/+2
| | | | | | | | | | This makes us act like the Linux Kernel does and allow for dtc to be provided externally but otherwise we use the version of dtc that is included in the sources. This in turn means that we can drop the checkdtc logic. We select DTC in the cases where we will need the dtc tool provided. Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Update minimum dtc version to 1.4.3Tom Rini2017-09-221-2/+2
| | | | | | | | | With support for overlays and calling the -@ flag to dtc we need to have at least 1.4.3 available now. Cc: Simon Glass <sjg@chromium.org> Reported-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Tom Rini <trini@konsulko.com>
* kbuild: Enable -fshort-wcharRob Clark2017-09-121-0/+1
| | | | | | | | | | EFI_LOADER really wants UTF-16 strings (ie. %ls and L"string" are 16bit chars instead of 32bit chars). But rather than enabling -fshort-wchar conditionally if EFI_LOADER is enabled, it was deemed preferrable to globally switch. Signed-off-by: Rob Clark <robdclark@gmail.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* Prepare v2017.09v2017.09Tom Rini2017-09-111-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* env: Add 'envtools' target to 'make help'Simon Glass2017-09-051-0/+1
| | | | | | | The target is not currently mentioned anywhere. Add it to the help so people can find it. Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Fix operation of 'make environ'Simon Glass2017-09-051-2/+2
| | | | | | | | | | | | | | | | This was broken by the recent environment refactoring. Specifically: $ make environ scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. make: *** [Makefile:1469: environ] Error 2 Fix this by updating the Makefile and adjusting the #include filesnames in two C files. Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ') Reported-by: Måns Rullgård <mans@mansr.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Fix out of tree building of tools-allTom Rini2017-09-051-1/+1
| | | | | | | | | | | | | With the move of environment code from common/ to env/ a number of changes needed to be made to various make targets. We missed updating some of the files required for out of tree builds of the tools. Correct the 'environ' target to know that we need to work under tools/env/ still (not tools/environ/) and then update the wrappers in env_attr.c and env_flags.c to point to the new correct file. Reported-by: Peter Robinson <pbrobinson@gmail.com> Tested-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.09-rc4v2017.09-rc4Tom Rini2017-09-041-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.09-rc3v2017.09-rc3Tom Rini2017-08-281-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: honor PYTHON configuration properlyClément Bœsch2017-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | On some systems `python` is `python3` (for instance, Archlinux). The `PYTHON` variable can be used to point to `python2` to have a successful build. The use of `PYTHON` is currently limited in the Makefile and needs to be extended in other places: First, pylibfdt is required to be a Python 2 binding (binman imports pylibfdt and is only compatible Python 2), so its setup.py needs to be called accordingly. An alternative would be to change the libfdt setup.py shebang to python2, but the binding is actually portable. Also, it would break on system where there is no such thing as `python2`. Secondly, the libfdt import checks need to be done against Python 2 as well since the Python 2 compiled modules (in this case _libdft.so) can not be imported from Python 3. Note on the libfdt imports: "@if ! PYTHONPATH=tools $(PYTHON) -c 'import libfdt'; then..." is probably simpler than the currently sub-optimal pipe. Reviewed-by: Jonathan Gray <jsg@jsg.id.au>
* Move environment files from common/ to env/Simon Glass2017-08-151-0/+1
| | | | | | | | | About a quarter of the files in common/ relate to the environment. It seems better to put these into their own subdirectory and remove the prefix. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Makefile: Rename 'env' target to 'environ'Simon Glass2017-08-151-2/+2
| | | | | | | | This target stops us using 'env' as a subdirectory. It is not mentioned in the help so seems to be an internal target. Rename it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.09-rc2v2017.09-rc2Tom Rini2017-08-141-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* spl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPLPhilipp Tomsich2017-08-131-1/+2
| | | | | | | | | | | | | | | For the RK3368, we want to use OF_PLATDATA in TPL, but full OF_CONTROL in SPL: this requires the introduction of a new family of configuration options to decouple SPL_OF_CONTROL and SPL_OF_PLATDATA from TPL. Consequently, Makefile.spl needs to be adjusted to test for these configuration items through the $(SPL_TPL_) macro instead of hard-coding the SPL variant. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.09-rc1v2017.09-rc1Tom Rini2017-07-311-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Export build date as integerAndy Shevchenko2017-07-301-0/+2
| | | | | | | | In some cases we would need build date as integer value. Export U_BOOT_BUILD_DATE as %Y%m%d integer value. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Makefile: Allow arch post-link hookPaul Burton2017-07-251-2/+5
| | | | | | | | | | | | | | | | | | | This commit allows an architecture to provide a Makefile.postlink whose u-boot target gets invoked after the u-boot ELF is linked. This will be of use for MIPS in a following commit. This mirrors Linux commit fbe6e37dab97 ("kbuild: add arch specific post-link Makefile"). Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> Cc: u-boot@lists.denx.de Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
* Makefile: add dependencies to regenerate u-boot.cfg when lostPhilipp Tomsich2017-07-221-1/+4
| | | | | | | | | | | | | | When running a 'make clean' or carelessly removing u-boot.cfg, all future make invocations (until autoconf is regenerated) will print an error for a missing u-boot.cfg due to missing rules and dependencies. This commit adds (i) an explicit rule dependency from all (which will invokes the configuration checker) to cfg, and (b) adds a rule to invoke scripts/Makefile.autoconf to regenerate u-boot.cfg. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* dtc: mkimage: Add the possibility to specify DTCEmmanuel Vadot2017-07-221-1/+1
| | | | | | | | | | FreeBSD recently switch to it's BSDL dtc. While it support most of the features of the GPL one it still lacks the incbin directive. Add the possibility to specify which dtc we want to use for compiling dts and generating fit image. Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com> Acked-by: Simon Glass <sjg@chromium.org>
* imx: reorganize IMX code as other SOCsStefano Babic2017-07-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Fabio Estevam <fabio.estevam@nxp.com> CC: Akshay Bhat <akshaybhat@timesys.com> CC: Ken Lin <Ken.Lin@advantech.com.tw> CC: Marek Vasut <marek.vasut@gmail.com> CC: Heiko Schocher <hs@denx.de> CC: "Sébastien Szymanski" <sebastien.szymanski@armadeus.com> CC: Christian Gmeiner <christian.gmeiner@gmail.com> CC: Stefan Roese <sr@denx.de> CC: Patrick Bruenn <p.bruenn@beckhoff.com> CC: Troy Kisky <troy.kisky@boundarydevices.com> CC: Nikita Kiryanov <nikita@compulab.co.il> CC: Otavio Salvador <otavio@ossystems.com.br> CC: "Eric Bénard" <eric@eukrea.com> CC: Jagan Teki <jagan@amarulasolutions.com> CC: Ye Li <ye.li@nxp.com> CC: Peng Fan <peng.fan@nxp.com> CC: Adrian Alonso <adrian.alonso@nxp.com> CC: Alison Wang <b18965@freescale.com> CC: Tim Harvey <tharvey@gateworks.com> CC: Martin Donnelly <martin.donnelly@ge.com> CC: Marcin Niestroj <m.niestroj@grinn-global.com> CC: Lukasz Majewski <lukma@denx.de> CC: Adam Ford <aford173@gmail.com> CC: "Albert ARIBAUD (3ADEV)" <albert.aribaud@3adev.fr> CC: Boris Brezillon <boris.brezillon@free-electrons.com> CC: Soeren Moch <smoch@web.de> CC: Richard Hu <richard.hu@technexion.com> CC: Wig Cheng <wig.cheng@technexion.com> CC: Vanessa Maegima <vanessa.maegima@nxp.com> CC: Max Krummenacher <max.krummenacher@toradex.com> CC: Stefan Agner <stefan.agner@toradex.com> CC: Markus Niebel <Markus.Niebel@tq-group.com> CC: Breno Lima <breno.lima@nxp.com> CC: Francesco Montefoschi <francesco.montefoschi@udoo.org> CC: Jaehoon Chung <jh80.chung@samsung.com> CC: Scott Wood <oss@buserror.net> CC: Joe Hershberger <joe.hershberger@ni.com> CC: Anatolij Gustschin <agust@denx.de> CC: Simon Glass <sjg@chromium.org> CC: "Andrew F. Davis" <afd@ti.com> CC: "Łukasz Majewski" <l.majewski@samsung.com> CC: Patrice Chotard <patrice.chotard@st.com> CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Hans de Goede <hdegoede@redhat.com> CC: Masahiro Yamada <yamada.masahiro@socionext.com> CC: Stephen Warren <swarren@nvidia.com> CC: Andre Przywara <andre.przywara@arm.com> CC: "Álvaro Fernández Rojas" <noltari@gmail.com> CC: York Sun <york.sun@nxp.com> CC: Xiaoliang Yang <xiaoliang.yang@nxp.com> CC: Chen-Yu Tsai <wens@csie.org> CC: George McCollister <george.mccollister@gmail.com> CC: Sven Ebenfeld <sven.ebenfeld@gmail.com> CC: Filip Brozovic <fbrozovic@gmail.com> CC: Petr Kulhavy <brain@jikos.cz> CC: Eric Nelson <eric@nelint.com> CC: Bai Ping <ping.bai@nxp.com> CC: Anson Huang <Anson.Huang@nxp.com> CC: Sanchayan Maity <maitysanchayan@gmail.com> CC: Lokesh Vutla <lokeshvutla@ti.com> CC: Patrick Delaunay <patrick.delaunay@st.com> CC: Gary Bisson <gary.bisson@boundarydevices.com> CC: Alexander Graf <agraf@suse.de> CC: u-boot@lists.denx.de Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
* Makefile: Build additional binaries for dtb FIT blobs appended to U-bootCooper Jr., Franklin2017-07-101-2/+16
| | | | | | | | Add additional make targets and options for building embedded FIT U-boot images. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.07v2017.07Tom Rini2017-07-101-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.07-rc3v2017.07-rc3Tom Rini2017-07-031-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.07--rc2v2017.07-rc2Tom Rini2017-06-191-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.07-rc1v2017.07-rc1Tom Rini2017-06-051-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* fdt: Makefile: Build python libfdt library if neededSimon Glass2017-06-021-2/+15
| | | | | | | | | | | | | | | This is needed by binman and dtoc, so if those are being used, check that the library is present and complain if not. Make sure that any error appears on stderr so that buildman notices it. This means that the fallback library (which uses fdtget) will not be used anymore and swig will need to be installed to use binman / dtoc. This affects any board which uses binman (currently sunxi and x86) or dtoc (anything that uses CONFIG_SPL_OF_PLATDATA, currently some rockchip boards). Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: add rules to generate SPL FIT imagesAndre Przywara2017-05-171-0/+20
| | | | | | | | | | | | | | | | Some platforms require more complex U-Boot images than we can easily generate via the mkimage command line, for instance to load additional image files. Introduce a CONFIG_SPL_FIT_SOURCE and CONFIG_SPL_FIT_GENERATOR symbol, which can either hold an .its source file describing the image layout, or, in the second case, a generator tool (script) to create such a source file. This script gets passed the list of device tree files from the CONFIG_OF_LIST variable. A platform or board can define either of those in their defconfig file to allow an easy building of such an image. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
* mmc: descend into drivers/mmc only when CONFIG_MMC is enabledMasahiro Yamada2017-05-151-1/+0
| | | | | | | | This simplifies makefiles. Also, arrange the order of objects in drivers/mmc/Makefile so that the framework objects are listed before drivers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* u-boot.elf: add quiet_cmd_u-boot-elf and cmd_u-boot-elfÁlvaro Fernández Rojas2017-05-101-4/+6
| | | | | | | This way we can see output about u-boot.elf being built or not. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* u-boot.elf: allow overriding entry symbolÁlvaro Fernández Rojas2017-05-101-1/+4
| | | | | | | | | | LD gives the following warning when trying to process u-boot-elf.o warning: cannot find entry symbol __start; defaulting to 0000000080010000 According to gnu-libc the entry symbol for mips is __start and not _start: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mips/dl-machine.h;h=ed47513ccc1d23d23d32ee640053d2f351f3990b;hb=HEAD#l258 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* u-boot.elf: remove hard-coded arm64 flagsÁlvaro Fernández Rojas2017-05-101-7/+5
| | | | | | | | | This is needed in order to allow building it for other archs. Move relocation comment to a better place. Remove no longer needed dts FIXME. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.05v2017.05Tom Rini2017-05-081-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.05-rc3v2017.05-rc3Tom Rini2017-05-011-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2017.05-rc2v2017.05-rc2Tom Rini2017-04-171-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* tools: allow to override pythonStefano Babic2017-04-131-1/+1
| | | | | | | | | | Not force to use python from PATH. Issue was noted when building with Yocto, because python from the distro is always taken instead of python-native built during Yocto process. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* Makefile: Fix linking with modern binutilsJoel Stanley2017-04-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since Binutils 1a9ccd70f9a7[1] u-boot will not link targets that set CONFIG_SYS_TEXT_BASE=0 with the following error: LD u-boot arm-linux-gnueabi-ld.bfd: u-boot: Not enough room for program headers, try linking with -N arm-linux-gnueabi-ld.bfd: final link failed: Bad value The issue can be reproduced with the bad binutils and the rock2_defconfig target. This issue was also encountered by the powerpc kernel[2], with the fix being to pass --no-dynamic-linker for linkers newer than 2.26 when this flag was introduced. The option tells ld that the PIE or shared lib does not need loaded program headers. Ubuntu Zesty's Binutils 2.27.51.20161202 hits this error. [1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=1a9ccd70f9a7 [2] https://git.kernel.org/cgit/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=ff45000fcb56b5b0f1a14a865d3541746d838a0a Signed-off-by: Joel Stanley <joel@jms.id.au> [AF: Apply to LDFLAGS_$(SPL_BIN) as well, suggested by Tom Rini] Signed-off-by: Andreas Färber <afaerber@suse.de>
* scripts: sunxi: Build an raw SPL imageMaxime Ripard2017-04-071-0/+3
| | | | | | | | | | | | | Introduce a new sunxi-spl-with-ecc.bin image with already the right header, ECC, randomizer and padding for the BROM to be able to read it. It needs to be flashed using a raw access to the NAND so that the controller doesn't change a thing to it, since we already have all the right parameters. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* Makefile: Correct dependency race condition with TPLSimon Glass2017-04-041-1/+2
| | | | | | | | | | | | At present we sometimes see the following build error when building on a machine with multiple cores. +make[2]: *** No rule to make target 'dts/dt.dtb', needed by 'tpl/u-boot-tpl.dtb'. Stop. Add a dependency to correct this. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Heiko Stuebner <heiko@sntech.de>