jjb: lttng-modules: refine patch version ranges
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 5 Sep 2023 18:32:17 +0000 (14:32 -0400)
committerMichael Jeanson <mjeanson@efficios.com>
Tue, 5 Sep 2023 19:18:59 +0000 (15:18 -0400)
Change-Id: Ic173f4102d7dfb1dd83cf67ff26eb47ee89e7d5a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
scripts/lttng-modules/param-build.sh

index 77ab74e7ea8aadd50fc7cbcb15ebefff840a36e5..5d12ca50c5cb45d80322783e6749cbffee479368 100644 (file)
@@ -448,52 +448,19 @@ build_linux_kernel() {
         patch_linux_kernel dfbd199a7cfe3e3cd8531e1353cdbd7175bfbc5e
     fi
 
-    if { vergte "${kversion}" "3.18"; } && { verlt "${kversion}" "4.16"; } ; then
-        # Compatibility with binutils >= ~ 2.31
+    # Compatibility with binutils >= ~ 2.31
+    if { vergte "${kversion}" "3.19"; } && { verlt "${kversion}" "4.16"; } ; then
         patch_linux_kernel b21ebf2fb4cde1618915a97cc773e287ff49173e
     fi
-
-    # The above patch only partially applies linux 3.17, and has been, so a
-    # rebased version is used instead.
-    if { vergte "${kversion}" "3.17"; } && { verlt "${kversion}" "3.18"; } ; then
-        cat <<'EOF' | patch -p1
-diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
-index 48598105..0652c5b6 100644
---- a/arch/x86/kernel/machine_kexec_64.c
-+++ b/arch/x86/kernel/machine_kexec_64.c
-@@ -516,6 +516,7 @@ int arch_kexec_apply_relocations_add(const Elf64_Ehdr *ehdr,
-                               goto overflow;
-                       break;
-               case R_X86_64_PC32:
-+              case R_X86_64_PLT32:
-                       value -= (u64)address;
-                       *(u32 *)location = value;
-                       break;
-diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
-index e69f9882..7c6bc9fe 100644
---- a/arch/x86/kernel/module.c
-+++ b/arch/x86/kernel/module.c
-@@ -180,6 +180,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
-                               goto overflow;
-                       break;
-               case R_X86_64_PC32:
-+              case R_X86_64_PLT32:
-                       val -= (u64)loc;
-                       *(u32 *)loc = val;
- #if 0
-diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
-index bbb1d225..8deeacbc 100644
---- a/arch/x86/tools/relocs.c
-+++ b/arch/x86/tools/relocs.c
-@@ -763,6 +763,7 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
-       switch (r_type) {
-       case R_X86_64_NONE:
-       case R_X86_64_PC32:
-+      case R_X86_64_PLT32:
-               /*
-                * NONE can be ignored and PC relative relocations don't
-                * need to be adjusted.
-EOF
+    if { vergte "${kversion}" "3.17"; } && { verlt "${kversion}" "3.18.69"; } ; then
+        patch_linux_kernel edb9d2d5e647e7a8521b0d35f8452deb02dfd138
+    fi
+    if { vergte "${kversion}" "3.17"; } && { verlt "${kversion}" "3.18.100"; } ; then
+        patch_linux_kernel 3be6583f0b6f1bf1ee650ebf473d9dee36836527
+        patch_linux_kernel 12d839211d080f6a9c370398c41a260365d34c62
+    fi
+    if { vergte "${kversion}" "3.16"; } && { verlt "${kversion}" "3.16.82"; } ; then
+        patch_linux_kernel ad10e6d464796f2a481de4039a43b9cfca034e1c
     fi
 
     if ( { vergte "${kversion}" "3.14"; } && { verlt "${kversion}" "4.4"; } ) ||
This page took 0.023861 seconds and 4 git commands to generate.