mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 23:02:30 +02:00
Make aarch aarch64 kernel depend on libgcc.
In arch/arm64/Makefile, it adds LIBGCC to libs-y:
LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
libs-y += $(LIBGCC)
In file Makefile in top directory, libs-y is assigned to to var
KBUILD_VMLINUX_MAIN. It uses script link-vmlinux.sh to link vmlinux.o,
and when execute function vmlinux_link() in link-vmlinux.sh,
KBUILD_VMLINUX_MAIN is passed to ${LD}.
If build without libgcc, the value of LIBGCC is just libgcc.a without
parent directory. linux-yocto fails to build:
| LD vmlinux.o
| aarch64-poky-linux-ld.bfd: cannot find libgcc.a: No such file or directory
Add libgcc to aarch64 kernel dependency.
(From OE-Core rev: 69ab638adcd8d30f35bb863254d9b112ad12b925)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
DESCRIPTION = "Yocto Kernel"
|
|
SECTION = "kernel"
|
|
LICENSE = "GPLv2"
|
|
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
|
|
|
INC_PR = "r4"
|
|
|
|
DEPENDS += "xz-native bc-native"
|
|
DEPENDS_append_aarch64 = " libgcc"
|
|
|
|
# A KMACHINE is the mapping of a yocto $MACHINE to what is built
|
|
# by the kernel. This is typically the branch that should be built,
|
|
# and it can be specific to the machine or shared
|
|
# KMACHINE = "UNDEFINED"
|
|
|
|
LINUX_KERNEL_TYPE ?= "standard"
|
|
|
|
# KMETA ?= ""
|
|
KBRANCH ?= "master"
|
|
KMACHINE ?= "${MACHINE}"
|
|
SRCREV_FORMAT ?= "meta_machine"
|
|
|
|
LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
|
|
|
|
do_patch[depends] = "kern-tools-native:do_populate_sysroot"
|
|
|
|
addtask kernel_configme before do_configure after do_patch
|
|
|
|
# Pick up shared functions
|
|
inherit kernel
|
|
inherit kernel-yocto
|
|
require linux-dtb.inc
|
|
|
|
B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build"
|
|
|
|
do_install_append(){
|
|
if [ -n "${KMETA}" ]; then
|
|
rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
|
|
fi
|
|
}
|
|
|
|
# extra tasks
|
|
addtask kernel_link_vmlinux after do_compile before do_install
|
|
addtask validate_branches before do_patch after do_kernel_checkout
|
|
addtask kernel_configcheck after do_configure before do_compile
|