summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Release v2020.12.0v2020.12.0Sascha Hauer2020-12-111-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/sandbox'Sascha Hauer2020-11-101-0/+3
|\
| * kbuild: force compiler to assume two's complementAhmad Fatoum2020-10-191-0/+3
| | | | | | | | | | | | | | | | | | The kernel is compiled with this option and kernel code we port assumes that integer types are two's complement, so play it safe and disable optimizations that are possibly buggy in respect to barebox. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Release v2020.11.0v2020.11.0Sascha Hauer2020-11-091-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc' into masterSascha Hauer2020-10-141-0/+20
|\
| * kbuild: add dtbs target for building all dtbs of an ARCHAhmad Fatoum2020-10-071-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | As described in the documentation, upstream device trees extended by barebox should take care to cause compile errors, not runtime errors, when the paths they extend disappear. This way, breakage can be easily detected when synchronizing the dts/ directory and fixed right then. Make this process easier by providing a dtbs target that builds all device trees available in arch/$(SRCARCH)/dts/. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/buildsystem-version' into masterSascha Hauer2020-10-141-1/+2
|\ \
| * | Makefile: add buildsystem version variableSteffen Trumtrar2020-09-251-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new variable to store a buildsystem version information. The exact information that is stored here (git commit, git tag,...) is defined by the buildsystem. It is intended to have the possibility to get information about the exact barebox binary, environment and configuration. The variable is utilized the same as KERNELVERSION for linux: make BUILDSYSTEM_VERSION=$COMMITISH Via scripts/mkcompile_h this information is injected into the barebox codebase. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / Release v2020.10.0v2020.10.0Sascha Hauer2020-10-141-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/kasan' into masterSascha Hauer2020-09-251-1/+5
|\
| * Add KASan supportSascha Hauer2020-09-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KernelAddressSANitizer (KASAN) is a dynamic memory error detector. It provides a fast and comprehensive solution for finding use-after-free and out-of-bounds bugs. This adds support for KASan to barebox. It is basically a stripped down version taken from the Linux Kernel as of v5.9-rc1. Quoting the initial Linux commit 0b24becc810d ("kasan: add kernel address sanitizer infrastructure") describes what KASan does: | KASAN uses compile-time instrumentation for checking every memory access, | therefore GCC > v4.9.2 required. v4.9.2 almost works, but has issues with | putting symbol aliases into the wrong section, which breaks kasan | instrumentation of globals. | | Basic idea: | | The main idea of KASAN is to use shadow memory to record whether each byte | of memory is safe to access or not, and use compiler's instrumentation to | check the shadow memory on each memory access. | | Address sanitizer uses 1/8 of the memory addressable in kernel for shadow | memory and uses direct mapping with a scale and offset to translate a | memory address to its corresponding shadow address. | | For every 8 bytes there is one corresponding byte of shadow memory. | The following encoding used for each shadow byte: 0 means that all 8 bytes | of the corresponding memory region are valid for access; k (1 <= k <= 7) | means that the first k bytes are valid for access, and other (8 - k) bytes | are not; Any negative value indicates that the entire 8-bytes are | inaccessible. Different negative values used to distinguish between | different kinds of inaccessible memory (redzones, freed memory) (see | mm/kasan/kasan.h). | | To be able to detect accesses to bad memory we need a special compiler. | Such compiler inserts a specific function calls (__asan_load*(addr), | __asan_store*(addr)) before each memory access of size 1, 2, 4, 8 or 16. | | These functions check whether memory region is valid to access or not by | checking corresponding shadow memory. If access is not valid an error | printed. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Release v2020.09.0v2020.09.0Sascha Hauer2020-09-231-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Release v2020.08.0v2020.08.0Sascha Hauer2020-08-171-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/module'Sascha Hauer2020-07-271-2/+10
|\
| * Makefile: Initialize and export KBUILD variablesDavid Dgien2020-07-011-2/+10
| | | | | | | | | | | | | | | | | | Initialize and export KBUILD KERNEL and MODULE variables. Otherwise, appending to them elsewhere in the srctree will not be seen by the build commands in Makefile.lib Signed-off-by: David Dgien <dgienda125@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2020-07-271-14/+1
|\ \
| * | kbuild: remove package targetsMasahiro Yamada2020-06-171-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hunk is already out of sync from upstream Linux. Barebox does not support package targets, so let's delete this rotten code. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | kbuild: remove AS variableMasahiro Yamada2020-06-171-2/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assembler files in the barebox are *.S instead of *.s, so they must be preprocessed. Since 'as' of GNU binutils is not able to preprocess, we always use $(CC) as an assembler driver. Remove AS variable. Linux also removed AS. See Linux commits: aa824e0c962b ("kbuild: remove AS variable") 1ca0c2f61211 ("kbuild: remove unused AS assignment") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/kbuild'Sascha Hauer2020-07-271-3/+10
|\ \
| * | kbuild: add infrastructure to build userspace programsMasahiro Yamada2020-06-231-3/+10
| | | | | | | | | | | | | | | | | | | | | Import Linux commit 7f3a59db274c3e3d884c785e363a054110f1c266 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | kbuild: add -Wmissing-prototypes and -std=gnu89 to KBUILD_HOSTCFLAGSMasahiro Yamada2020-06-231-2/+2
| |/ | | | | | | | | | | | | Align with Linux kernel. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / Release v2020.07.0v2020.07.0Sascha Hauer2020-07-141-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/kbuild'Sascha Hauer2020-06-111-6/+10
|\
| * kbuild: switch over to thin archiveMasahiro Yamada2020-05-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting v4.13, Linux always uses thin archive instead of relocatable ELF to combine builtin objects. The thin archive is basically a text file that only contains paths to object files. As Linux commit 98ced886dd79 mentioned, this has a lot of benefits: - save disk space for builds - speed-up building a little - fix some issues when liking a giant executable (for example, allyesconfig on ARM Linux) - work better with dead code elimination The last one is important for barebox because pbl highly relies on the dead code elimination (-f{function,data}-sections and --gc-sections) dropping symbols that are unreachable from the linker's entry point. The dead code elimination does not work if the same symbol names are used in the pevious incremental link mechanism because the same name symbols all go into the same section. Commit a83c97f2a406 ("ARM: socfpga: generate smaller images when multiple boards are selected") worked around it by giving a dedicate section to each of the same name symbols. This workaround can go away. built-in.o was renamed to built-in.a since it is now an archive. built-in-pbl.o was renamed to built-in.pbl.a for consistency. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: build modules by 'make'Masahiro Yamada2020-05-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Linux, 'make' and 'make all' work equivalently; it builds both vmlinux and modules. In barebox, strangely, 'make all' builds both barebox and modules, but 'make' builds only barebox because KBUILD_MODULES is unset. The check for 'ifeq ($(MAKECMDGOALS),)' is missing since the day-one. Fixes: b02e0966412c ("add additional linking stage for modules") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: add -std=gnu89 to KBUILD_CFLAGSMasahiro Yamada2020-05-201-1/+1
| | | | | | | | | | | | | | | | Barebox imports lots of code from Linux, so should use the same language standard as Linux. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Release v2020.06.0v2020.06.0Sascha Hauer2020-06-101-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/kbuild'Sascha Hauer2020-05-141-328/+413
|\
| * kbuild: resync top Makefile, mkmakefile, tags.sh with Linux 5.7-rc4Masahiro Yamada2020-05-121-260/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The prologue of the build system is not specific to Linux or Barebox. Paritially resync with Linux 5.7-rc4 - In Linux, $(objtree) is always '.', and $(srctree) might be relative. I am keeping both absolute for now to avoid unexpected breakage. - I did not resync single target for now. We need to touch Makefile.build a lot if we want to resync it. - 'export CDPATH=' is Barebox-only code, which was added by commit 6cc8d0544658 ("Makefile: disable CDPATH"). Keep it. - KBUILD_SRC no longer exists in the upstream Linux. I replaced it with building_out_of_srctree. - scripts/mkmakefile does not contain anything specific to Linux or Barebox. Resync it with Linux 5.7-rc4 - scripts/tags was imported from Linux 3.6 with some cherry-picks on top of that. Resync it with Linux 5.7-rc4 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: add -Wall to KBUILD_HOSTCXXFLAGSMasahiro Yamada2020-05-121-1/+1
| | | | | | | | | | | | | | | | | | [ Linux commit 735aab1e008b6d9ba8057caa647b6619bf73460f ] Add -Wall to catch more warnings for C++ host programs. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: add -Werror={strict-prototypes, implicit-int} to KBUILD_CFLAGSMasahiro Yamada2020-05-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Turn Wstrict-prototypes into an error - Add -Werror=implicit-int - Use the standard form -Werror=... for implicit-function-declaration This commit imports the following Linux commits. They should work for barebox too. 80970472179a Makefile: enable -Werror=implicit-int and -Werror=strict-prototypes by default eeb5687a7139 kbuild: add -Werror=strict-prototypes flag unconditionally 61a0902a06d6 kbuild: add -Werror=implicit-int flag unconditionally b89f25ea7892 kbuild: use -Werror=implicit-... instead of -Werror-implicit-... Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: sync if_changed and friends with Linux 5.7-rc2Masahiro Yamada2020-05-041-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Resync cmd, if_change, if_changed_dep, and if_changed_rule. Clean up the users of if_changed_rule. I deleted the modversions rule. It is dead code because barebox does not define CONFIG_MODVERSIONS. It does not work without scripts/genksyms/ anyway. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: sync filechk rule with Linux 5.7-rc2Masahiro Yamada2020-05-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'filechk' in the latest Linux works more simply, reliably. - Do not show CHK every time - Delete the *.tmp file when the filechk_$(1) fails - Do not open the first prerequisite. This is unneeded in most cases. I deleted pointeless dependency on Makefile. Also delete the meaningless assignment to 'targets' because filechk does not generate .cmd file. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: do not delete $@ explicitly on failureMasahiro Yamada2020-05-041-5/+1
| | | | | | | | | | | | | | | | | | | | The .DELETE_ON_ERROR special target is specified in scripts/Kbuild.include You do not need to delete $@ explicitly when the command fails. GNU Make automatically does it. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ppc: rename arch/ppc/ to arch/powerpc/Masahiro Yamada2020-05-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In old days, Linux supported PowerPC with two arch directories, arch/ppc/ and arch/ppc64/. Linux commit 564ee7a5668e ("[PATCH] powerpc: Move arch/ppc*/kernel/vecemu.c to arch/powerpc") started the migration to arch/powerpc/, and commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc") finished it. This commit aligns the directory name with the current Linux. I did 'git mv arch/ppc/ arch/powerpc/', and fixed up some hard-coded arch/ppc paths. Barebox has stuck to arch/ppc/ for a long time. To keep the backward compatibility, I added the following to the top Makefile. # Support ARCH=ppc for backward compatibility ifeq ($(ARCH),ppc) SRCARCH := powerpc endif Both ARCH=ppc and ARCH=powerpc work in the same way. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: set SRCARCH=arm when ARCH=arm64Masahiro Yamada2020-04-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | In Linux, ARCH can be passed from the command line or the environment. In barebox, "ARCH=arm64 make" works, but "make ARCH=arm64" does not. Instead of overriding ARCH, use SRCARCH properly. This is what Linux does for biarch directories (x86, sh, sparc). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: use $(SRCARCH) to point to the arch directoryMasahiro Yamada2020-04-271-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of arch directories in Linux are biarch, that is, a single arch/*/ directory supports both 32-bit and 64-bit. In old days of Linux, they started as separated directories. arm/arm64 is the exceptional case, but the other architectures were unified. e.g.) arch/i386, arch/x86_64 -> arch/x86 arch/sh, arch/sh64 -> arch/sh arch/sparc, arch/sparc64 -> arch/sparc Linux commit 6752ed90da03 ("Kbuild: allow arch/xxx to use a different source path") introduced SRCARCH to point to the arch directory, still allowing to pass in the former ARCH=i386 or ARCH=x86_64. The top Makefile in Linux converts ARCH to SRCARCH as follows: # Additional ARCH settings for x86 ifeq ($(ARCH),i386) SRCARCH := x86 endif ifeq ($(ARCH),x86_64) SRCARCH := x86 endif So, if you follow the upstream Kbuild convention, using arch/$(SRCARCH) is the correct way to point to the arch directory. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: swap the include order of arch Makefile and auto.conf.cmdMasahiro Yamada2020-04-271-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include include/config/auto.conf arch/$(ARCH)/Makefile include/config/auto.conf.cmd in this order, which is the same as the current Linux does. auto.conf.cmd contains the environment variables that were referenced from Kconfig files. If an environment variable defined in arch Makefile is referenced from Kconfig files, Kbuild would end up with eternal synconfig loop. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: remove meaningless headers_check from help targetMasahiro Yamada2020-04-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is never shown because include/asm-$(ARCH)/Kbuild does not exist. headers_check does not make any sense for barebox. Linux also deprecated headers_check by commit 7ecaf069da52 ("kbuild: move headers_check rule to usr/include/Makefile"). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kconfig: update to Linux 5.7-rc2Masahiro Yamada2020-04-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous sync was Linux 5.5. This updates Kconfig to Linux 5.7-rc2. Highlights: - add yes2modconfig and mod2yesconfig, which are useful for coping with syzbot configs in Linux - remove include/config/tristate.conf - show more precise help - fix various issues of 'make xconfig' Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: prefix compiler flag variables with KBUILD_Masahiro Yamada2020-04-271-24/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In old days, Linux also used to use well-known variables such CFLAGS, CPPFLAGS, etc. They were prefixed with KBUILD_ presumably for preventing users from overriding them accidentally. Rename as follows: CFLAGS -> KBUILD_CFLAGS AFLAGS -> KBUILD_AFLAGS CPPFLAGS -> KBUILD_CPPFLAGS LDFLAGS -> KBUILD_LDFLAGS HOSTCFLAGS -> KBUILD_HOSTCFLAGS HOSTCXXFLAGS -> KBUILD_HOSTCXXFLAGS HOSTLDFLAGS -> KBUILD_HOSTLDFLAGS HOST_LOADLIBES -> KBUILD_HOSTLDLIBS HOSTCFLAGS, HOSTCXXFLAGS, HOSTLDFLAGS, HOSTLDLIBS are re-used to allow users to pass-in additional flags to the host compiler. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Release v2020.05.0v2020.05.0Sascha Hauer2020-05-131-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/arm'Sascha Hauer2020-04-161-0/+4
|\
| * kbuild: Allow building with ARCH set to "arm64"Andrey Smirnov2020-04-011-0/+4
| | | | | | | | | | | | | | | | | | Allow building with ARCH set to "arm64" so that Barebox for AArch64 can be built with same environment settings one would use for building Linux kernel. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Release v2020.04.0v2020.04.0Sascha Hauer2020-04-151-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2020-03-181-27/+11
|\
| * kbuild: replace barebox-all with BAREBOX_OBJSMasahiro Yamada2020-03-111-4/+3
| | | | | | | | | | | | | | Replace $(barebox-all) with $(BAREBOX_OBJS), then delete barebox-all. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: rename barebox-{common, lds} to BAREBOX_{OBJS, LDS}Masahiro Yamada2020-03-111-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit renamed barebox-pbl-common because you cannot export a variable that contain hyphens. These variables are not exported for now. I am just renaming them for consistency. barebox-common -> BAREBOX_OBJS barebox-lds -> BAREBOX_LDS If barebox moves the link rules into scripts/link-barebox.sh like Linux did, these two must be exported anyway. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: rename barebox-pbl-common to BAREBOX_PBL_OBJSMasahiro Yamada2020-03-111-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'export barebox-pbl-common' does not work reliably because hyphens are disallowed in shell variables. This caused a problem in Linux in the past. See Linux commit 2bfbe7881ee0 ("kbuild: Do not use hyphen in exported variable name"). The same problem occurs when you build barebox with O= and the directory path to the source tree contains a shell special character like '~'. The maintainer of GNU Make stated that there is no consistent way to export variables that do not meet the shell's naming criteria. (https://savannah.gnu.org/bugs/?55719) Consequently, you cannot use hyphens in exported variables. Rename barebox-pbl-common to BAREBOX_PBL_OBJS. I named it after KBUILD_VMLINUX_OBJS in the Linux top Makefile. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * kbuild: remove dead code for modpostMasahiro Yamada2020-03-111-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rule_barebox-modpost is dead code since it is not invoked by anyone. $(call barebox-modpost) is dead code too since there is no variable named 'barebox-modpost'. We could fix it to $(call rule_barebox-modpost) to invoke the rules, but I hesitate to enable the code that has never been tested. barebox-init, barebox-main are not set by anyone, so this code does not seem to work. The code is completely out of sync from the upstream Linux, so there is no good reason to keep this rotten code. If barebox needs modpost, this should be re-implemented correctly. (preferably, by re-syncing with the latest Linux) Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>