diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-06-16 01:31:07 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-06-19 13:18:56 +0100 |
commit | 0ef2e5081b9c7250d2755e038f911a99ebe43a65 (patch) | |
tree | 108a99949aa27eeb5d2ae7ab1025fa0e8dfc43cd /meta/classes-recipe/module.bbclass | |
parent | 8502913bd3a653031943d8b1045153196ee30406 (diff) | |
download | poky-0ef2e5081b9c7250d2755e038f911a99ebe43a65.tar.gz |
kernel: Add kernel specific STRIP variable
strip can be coming from binutils or from llvm
in some cases llvm-strip can fail on kernel
Subprocess output:aarch64-yoe-linux-llvm-strip: error: Link field value 28 in section .rela.dyn is not a symbol table
This helps in selecting which strip is used when building kernel
(From OE-Core rev: 03973c8c1c93ddb1c8e05b773bfcc45aed73a99f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/module.bbclass')
-rw-r--r-- | meta/classes-recipe/module.bbclass | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/classes-recipe/module.bbclass b/meta/classes-recipe/module.bbclass index b3b852be5f..f2f0b25a2d 100644 --- a/meta/classes-recipe/module.bbclass +++ b/meta/classes-recipe/module.bbclass | |||
@@ -20,6 +20,10 @@ python __anonymous () { | |||
20 | d.setVar('KBUILD_EXTRA_SYMBOLS', " ".join(extra_symbols)) | 20 | d.setVar('KBUILD_EXTRA_SYMBOLS', " ".join(extra_symbols)) |
21 | } | 21 | } |
22 | 22 | ||
23 | python do_package:prepend () { | ||
24 | os.environ['STRIP'] = d.getVar('KERNEL_STRIP') | ||
25 | } | ||
26 | |||
23 | python do_devshell:prepend () { | 27 | python do_devshell:prepend () { |
24 | os.environ['CFLAGS'] = '' | 28 | os.environ['CFLAGS'] = '' |
25 | os.environ['CPPFLAGS'] = '' | 29 | os.environ['CPPFLAGS'] = '' |
@@ -33,6 +37,7 @@ python do_devshell:prepend () { | |||
33 | os.environ['LD'] = d.getVar('KERNEL_LD') | 37 | os.environ['LD'] = d.getVar('KERNEL_LD') |
34 | os.environ['AR'] = d.getVar('KERNEL_AR') | 38 | os.environ['AR'] = d.getVar('KERNEL_AR') |
35 | os.environ['OBJCOPY'] = d.getVar('KERNEL_OBJCOPY') | 39 | os.environ['OBJCOPY'] = d.getVar('KERNEL_OBJCOPY') |
40 | os.environ['STRIP'] = d.getVar('KERNEL_STRIP') | ||
36 | os.environ['O'] = d.getVar('STAGING_KERNEL_BUILDDIR') | 41 | os.environ['O'] = d.getVar('STAGING_KERNEL_BUILDDIR') |
37 | kbuild_extra_symbols = d.getVar('KBUILD_EXTRA_SYMBOLS') | 42 | kbuild_extra_symbols = d.getVar('KBUILD_EXTRA_SYMBOLS') |
38 | if kbuild_extra_symbols: | 43 | if kbuild_extra_symbols: |
@@ -47,6 +52,7 @@ module_do_compile() { | |||
47 | KERNEL_VERSION=${KERNEL_VERSION} \ | 52 | KERNEL_VERSION=${KERNEL_VERSION} \ |
48 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | 53 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ |
49 | AR="${KERNEL_AR}" OBJCOPY="${KERNEL_OBJCOPY}" \ | 54 | AR="${KERNEL_AR}" OBJCOPY="${KERNEL_OBJCOPY}" \ |
55 | STRIP="${KERNEL_STRIP}" \ | ||
50 | O=${STAGING_KERNEL_BUILDDIR} \ | 56 | O=${STAGING_KERNEL_BUILDDIR} \ |
51 | KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \ | 57 | KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \ |
52 | ${MAKE_TARGETS} | 58 | ${MAKE_TARGETS} |
@@ -57,6 +63,7 @@ module_do_install() { | |||
57 | oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \ | 63 | oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \ |
58 | INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \ | 64 | INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \ |
59 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" OBJCOPY="${KERNEL_OBJCOPY}" \ | 65 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" OBJCOPY="${KERNEL_OBJCOPY}" \ |
66 | STRIP="${KERNEL_STRIP}" \ | ||
60 | O=${STAGING_KERNEL_BUILDDIR} \ | 67 | O=${STAGING_KERNEL_BUILDDIR} \ |
61 | ${MODULES_INSTALL_TARGET} | 68 | ${MODULES_INSTALL_TARGET} |
62 | 69 | ||