diff options
Diffstat (limited to 'meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch')
-rw-r--r-- | meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch b/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch index ab3b127641..348d82acc1 100644 --- a/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch +++ b/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | From 70de3fecbc551907c4fd504cfff385c73be8db75 Mon Sep 17 00:00:00 2001 | 1 | From 21909e3f9096fa8e4825df8c65114ee92ab3d532 Mon Sep 17 00:00:00 2001 |
2 | From: Ruslan Bilovol <rbilovol@cisco.com> | 2 | From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> |
3 | Date: Tue, 19 Dec 2017 15:59:04 +0200 | 3 | Date: Wed, 7 Aug 2019 02:57:35 +0900 |
4 | Subject: [PATCH] kpatch-build: add cross-compilation support | 4 | Subject: [PATCH] kpatch-build: add cross-compilation support |
5 | 5 | ||
6 | This patch introduces new option for kpatch-build | 6 | This patch introduces new option for kpatch-build |
@@ -17,44 +17,45 @@ possible to pass multy-component strings like | |||
17 | Upstream-Status: Pending | 17 | Upstream-Status: Pending |
18 | 18 | ||
19 | Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> | 19 | Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> |
20 | |||
21 | --- | 20 | --- |
22 | kpatch-build/kpatch-build | 13 +++++++++++-- | 21 | kpatch-build/kpatch-build | 13 +++++++++++-- |
23 | kpatch-build/kpatch-gcc | 4 ++-- | 22 | kpatch-build/kpatch-gcc | 4 ++-- |
24 | 2 files changed, 13 insertions(+), 4 deletions(-) | 23 | 2 files changed, 13 insertions(+), 4 deletions(-) |
25 | 24 | ||
26 | diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build | 25 | diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build |
27 | index a76913f..4a011aa 100755 | 26 | index 9ef3809..463dab1 100755 |
28 | --- a/kpatch-build/kpatch-build | 27 | --- a/kpatch-build/kpatch-build |
29 | +++ b/kpatch-build/kpatch-build | 28 | +++ b/kpatch-build/kpatch-build |
30 | @@ -197,7 +197,7 @@ gcc_version_check() { | 29 | @@ -198,7 +198,7 @@ gcc_version_check() { |
31 | # gcc --version varies between distributions therefore extract version | 30 | # gcc --version varies between distributions therefore extract version |
32 | # by compiling a test file and compare it to vmlinux's version. | 31 | # by compiling a test file and compare it to vmlinux's version. |
33 | echo 'void main(void) {}' > "$c" | 32 | echo 'void main(void) {}' > "$c" |
34 | - out="$(gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)" | 33 | - out="$(gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)" |
35 | + out="$(${KPATCH_CROSS_COMPILE}gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)" | 34 | + out="$(${KPATCH_CROSS_COMPILE}gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)" |
36 | gccver="$(gcc_version_from_file "$o")" | 35 | gccver="$(gcc_version_from_file "$o")" |
37 | kgccver="$(gcc_version_from_file "$VMLINUX")" | 36 | if [[ -n "$OOT_MODULE" ]]; then |
38 | rm -f "$c" "$o" | 37 | kgccver="$(gcc_version_from_file "$OOT_MODULE")" |
39 | @@ -392,12 +392,14 @@ usage() { | 38 | @@ -411,6 +411,8 @@ usage() { |
40 | echo " -d, --debug Enable 'xtrace' and keep scratch files" >&2 | ||
41 | echo " in <CACHEDIR>/tmp" >&2 | ||
42 | echo " (can be specified multiple times)" >&2 | 39 | echo " (can be specified multiple times)" >&2 |
40 | echo " -e, --oot-module Enable patching out-of-tree module," >&2 | ||
41 | echo " specify current version of module" >&2 | ||
43 | + echo " --cross-compile Specify the prefix used for all executables" >&2 | 42 | + echo " --cross-compile Specify the prefix used for all executables" >&2 |
44 | + echo " used during compilation" >&2 | 43 | + echo " used during compilation" >&2 |
45 | echo " --skip-cleanup Skip post-build cleanup" >&2 | 44 | echo " --skip-cleanup Skip post-build cleanup" >&2 |
46 | echo " --skip-gcc-check Skip gcc version matching check" >&2 | 45 | echo " --skip-gcc-check Skip gcc version matching check" >&2 |
46 | echo " (not recommended)" >&2 | ||
47 | @@ -416,7 +418,7 @@ usage() { | ||
47 | echo " (not recommended)" >&2 | 48 | echo " (not recommended)" >&2 |
48 | } | 49 | } |
49 | 50 | ||
50 | -options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed" | 51 | -options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed" |
51 | +options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed" | 52 | +options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed" |
52 | 53 | ||
53 | eval set -- "$options" | 54 | eval set -- "$options" |
54 | 55 | ||
55 | @@ -455,6 +457,10 @@ while [[ $# -gt 0 ]]; do | 56 | @@ -479,6 +481,10 @@ while [[ $# -gt 0 ]]; do |
56 | echo "DEBUG mode enabled" | 57 | OOT_MODULE="$(readlink -f "$2")" |
57 | fi | 58 | shift |
58 | ;; | 59 | ;; |
59 | + --cross-compile) | 60 | + --cross-compile) |
60 | + KPATCH_CROSS_COMPILE="$2" | 61 | + KPATCH_CROSS_COMPILE="$2" |
@@ -63,17 +64,17 @@ index a76913f..4a011aa 100755 | |||
63 | --skip-cleanup) | 64 | --skip-cleanup) |
64 | echo "Skipping cleanup" | 65 | echo "Skipping cleanup" |
65 | SKIPCLEANUP=1 | 66 | SKIPCLEANUP=1 |
66 | @@ -710,6 +716,8 @@ if [[ $DEBUG -ge 4 ]]; then | 67 | @@ -757,6 +763,8 @@ if [[ $DEBUG -ge 4 ]]; then |
67 | export KPATCH_GCC_DEBUG=1 | 68 | export KPATCH_GCC_DEBUG=1 |
68 | fi | 69 | fi |
69 | 70 | ||
70 | +export KPATCH_CROSS_COMPILE | 71 | +export KPATCH_CROSS_COMPILE |
71 | + | 72 | + |
72 | echo "Building original kernel" | 73 | echo "Building original source" |
73 | ./scripts/setlocalversion --save-scmversion || die | 74 | [[ -n "$OOT_MODULE" ]] || ./scripts/setlocalversion --save-scmversion || die |
74 | unset KPATCH_GCC_TEMPDIR | 75 | unset KPATCH_GCC_TEMPDIR |
75 | @@ -874,6 +882,7 @@ cd "$TEMPDIR/patch" || die | 76 | @@ -940,6 +948,7 @@ fi |
76 | KPATCH_BUILD="$SRCDIR" KPATCH_NAME="$MODNAME" \ | 77 | KPATCH_BUILD="$KPATCH_BUILD" KPATCH_NAME="$MODNAME" \ |
77 | KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS" \ | 78 | KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS" \ |
78 | KPATCH_LDFLAGS="$KPATCH_LDFLAGS" \ | 79 | KPATCH_LDFLAGS="$KPATCH_LDFLAGS" \ |
79 | +CROSS_COMPILE="$KPATCH_CROSS_COMPILE" \ | 80 | +CROSS_COMPILE="$KPATCH_CROSS_COMPILE" \ |
@@ -81,7 +82,7 @@ index a76913f..4a011aa 100755 | |||
81 | 82 | ||
82 | if ! "$KPATCH_MODULE"; then | 83 | if ! "$KPATCH_MODULE"; then |
83 | diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc | 84 | diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc |
84 | index 2d56da1..59a4255 100755 | 85 | index 9663290..56e6c8f 100755 |
85 | --- a/kpatch-build/kpatch-gcc | 86 | --- a/kpatch-build/kpatch-gcc |
86 | +++ b/kpatch-build/kpatch-gcc | 87 | +++ b/kpatch-build/kpatch-gcc |
87 | @@ -8,7 +8,7 @@ TOOLCHAINCMD="$1" | 88 | @@ -8,7 +8,7 @@ TOOLCHAINCMD="$1" |
@@ -93,9 +94,12 @@ index 2d56da1..59a4255 100755 | |||
93 | fi | 94 | fi |
94 | 95 | ||
95 | declare -a args=("$@") | 96 | declare -a args=("$@") |
96 | @@ -82,4 +82,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then | 97 | @@ -84,4 +84,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then |
97 | done | 98 | done |
98 | fi | 99 | fi |
99 | 100 | ||
100 | -exec "$TOOLCHAINCMD" "${args[@]}" | 101 | -exec "$TOOLCHAINCMD" "${args[@]}" |
101 | +exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "${args[@]}" | 102 | +exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "${args[@]}" |
103 | -- | ||
104 | 2.7.4 | ||
105 | |||