summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2020-05-10 20:04:12 -0400
committerChris Severance2020-05-10 20:04:12 -0400
commitd81f4c121b6d740347f5051ff64af4a08164a652 (patch)
treeb48aafd24782da8a023c1b8a589d4f87850b0853
parenta6998d891998785ba88d5db86388e7579ad9d685 (diff)
downloadaur-d81f4c121b6d740347f5051ff64af4a08164a652.tar.gz
autu: Update to 3.16.83-1
-rw-r--r--.SRCINFO12
-rw-r--r--0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch94
-rw-r--r--PKGBUILD51
3 files changed, 32 insertions, 125 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 51b2d34c0e6a..470a8520ecb2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = linux-lts316
- pkgver = 3.16.82
+ pkgver = 3.16.83
pkgrel = 1
url = https://www.kernel.org/
arch = i686
@@ -12,7 +12,7 @@ pkgbase = linux-lts316
makedepends = bc
options = !strip
source = https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
- source = https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.16.82.xz
+ source = https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.16.83.xz
source = config
source = config.x86_64
source = 99-linux.hook
@@ -23,7 +23,7 @@ pkgbase = linux-lts316
source = 0003-systemd.245.kernel.316.ambient.capabilities.patch
source = update.sh
md5sums = 5c569ed649a0c9711879f333e90c5386
- md5sums = 8da6a4c655cecd0f2657436334a60d9c
+ md5sums = 94b9ee74d9d4c8fc59dbb161c6a2c361
md5sums = 5c85a1cef25029a8eb87d0edeec0cb04
md5sums = f45197ec50bb5f7a85991f6e99ad49c6
md5sums = 90cd68710e3064d9b65f5549570f7821
@@ -34,7 +34,7 @@ pkgbase = linux-lts316
md5sums = 4f2248545c0a3997a1d301195b7dcfe7
md5sums = e6a1be64b190d846648d671c012d6dd3
sha256sums = 4813ad7927a7d92e5339a873ab16201b242b2748934f12cb5df9ba2cfe1d77a0
- sha256sums = 82bd3706afe2beff9ff9a00fae0dd7f92e6f8f300ba0bbe8cc778c2bced20a11
+ sha256sums = 85e1b0d1e3b9e67fc46affe8cd374d8cd7406b307732401c5a4e18e011c879c2
sha256sums = 3bce3e9adce8ae3f826eebab75e9784ca92a914e526ae352de61c1da93aab8d3
sha256sums = 328539797005cb43362b75ca9965791a1ed34525101c286e4fb49694faa40e4c
sha256sums = 834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0
@@ -53,12 +53,12 @@ pkgname = linux-lts316
depends = kmod
depends = mkinitcpio>=0.7
optdepends = crda: to set the correct wireless channels of your country
- provides = linux=3.16.82
+ provides = linux=3.16.83
backup = etc/mkinitcpio.d/linux-lts316.preset
pkgname = linux-lts316-headers
pkgdesc = Header files and scripts for building modules for Linux-lts316 kernel
- provides = linux-headers=3.16.82
+ provides = linux-headers=3.16.83
pkgname = linux-lts316-docs
pkgdesc = Kernel hackers manual - HTML documentation that comes with the Linux-lts316 kernel
diff --git a/0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch b/0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch
deleted file mode 100644
index 6578beb82dcd..000000000000
--- a/0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From b21ebf2fb4cde1618915a97cc773e287ff49173e Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Wed, 7 Feb 2018 14:20:09 -0800
-Subject: x86: Treat R_X86_64_PLT32 as R_X86_64_PC32
-
-On i386, there are 2 types of PLTs, PIC and non-PIC. PIE and shared
-objects must use PIC PLT. To use PIC PLT, you need to load
-_GLOBAL_OFFSET_TABLE_ into EBX first. There is no need for that on
-x86-64 since x86-64 uses PC-relative PLT.
-
-On x86-64, for 32-bit PC-relative branches, we can generate PLT32
-relocation, instead of PC32 relocation, which can also be used as
-a marker for 32-bit PC-relative branches. Linker can always reduce
-PLT32 relocation to PC32 if function is defined locally. Local
-functions should use PC32 relocation. As far as Linux kernel is
-concerned, R_X86_64_PLT32 can be treated the same as R_X86_64_PC32
-since Linux kernel doesn't use PLT.
-
-R_X86_64_PLT32 for 32-bit PC-relative branches has been enabled in
-binutils master branch which will become binutils 2.31.
-
-[ hjl is working on having better documentation on this all, but a few
- more notes from him:
-
- "PLT32 relocation is used as marker for PC-relative branches. Because
- of EBX, it looks odd to generate PLT32 relocation on i386 when EBX
- doesn't have GOT.
-
- As for symbol resolution, PLT32 and PC32 relocations are almost
- interchangeable. But when linker sees PLT32 relocation against a
- protected symbol, it can resolved locally at link-time since it is
- used on a branch instruction. Linker can't do that for PC32
- relocation"
-
- but for the kernel use, the two are basically the same, and this
- commit gets things building and working with the current binutils
- master - Linus ]
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- arch/x86/kernel/machine_kexec_64.c | 1 +
- arch/x86/kernel/module.c | 1 +
- arch/x86/tools/relocs.c | 3 +++
- 3 files changed, 5 insertions(+)
-
-# File not present in linux-3.16
-#diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
-#index 1f790cf9d38f..3b7427aa7d85 100644
-#--- a/arch/x86/kernel/machine_kexec_64.c
-#+++ b/arch/x86/kernel/machine_kexec_64.c
-#@@ -542,6 +542,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 -pNaru5 linux-3.16.61.orig/arch/x86/kernel/module.c linux-3.16/arch/x86/kernel/module.c
---- linux-3.16.61.orig/arch/x86/kernel/module.c 2014-08-03 18:25:02.000000000 -0400
-+++ linux-3.16/arch/x86/kernel/module.c 2018-12-02 20:13:13.245493421 -0500
-@@ -178,10 +178,11 @@ int apply_relocate_add(Elf64_Shdr *sechd
- *(s32 *)loc = val;
- if ((s64)val != *(s32 *)loc)
- goto overflow;
- break;
- case R_X86_64_PC32:
-+ case R_X86_64_PLT32:
- val -= (u64)loc;
- *(u32 *)loc = val;
- #if 0
- if ((s64)val != *(s32 *)loc)
- goto overflow;
-diff -pNaru5 linux-3.16.61.orig/arch/x86/tools/relocs.c linux-3.16/arch/x86/tools/relocs.c
---- linux-3.16.61.orig/arch/x86/tools/relocs.c 2018-12-02 20:13:11.958832565 -0500
-+++ linux-3.16/arch/x86/tools/relocs.c 2018-12-02 20:13:13.245493421 -0500
-@@ -761,13 +761,16 @@ static int do_reloc64(struct section *se
- offset += per_cpu_load_addr;
-
- 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.
-+ *
-+ * NB: R_X86_64_PLT32 can be treated as R_X86_64_PC32.
- */
- break;
-
- case R_X86_64_32:
- case R_X86_64_32S:
diff --git a/PKGBUILD b/PKGBUILD
index c8b5e74eb0bf..0858369d56db 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,8 +5,8 @@
set -u
pkgbase="linux-lts316"
-_srcname="linux-3.16"
-pkgver="3.16.82"
+pkgver="3.16.83"
+_srcname="linux-${pkgver%.*}"
pkgrel='1'
arch=('i686' 'x86_64')
url="https://www.kernel.org/"
@@ -23,15 +23,26 @@ source=(
'99-linux.hook'
# standard config files for mkinitcpio ramdisk
'linux.preset'
+
+ # add latest fixes from stable queue, if needed
+ # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+
+ # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
+ # remove this when a Kconfig knob is made available by upstream
+ # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
'change-default-console-loglevel.patch'
#'0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch' # https://www.reddit.com/r/linuxquestions/comments/903xwq/unable_to_compile_working_kernel_modules_anymore/
'0001-binutils.2.31.max-page-size.patch' # http://lists.gnu.org/archive/html/bug-binutils/2018-03/msg00193.html
+ # Fix for binutils 2.34
'0002-binutils.2.34.sysexit.patch' # https://gist.github.com/bbidulock/263c5c3aee34e3a1b09dca0b937c210b
+ # Fix for systemd 245
+ # https://forum.odroid.com/viewtopic.php?f=141&t=38171
+ # by stas-t Re: C2 won't boot up after upgrading systemd to 245-1 on Arch
'0003-systemd.245.kernel.316.ambient.capabilities.patch' # https://github.com/hardkernel/linux/commit/2ddfe869e9964afe1175919557e6b4f18b78941a
'update.sh'
)
md5sums=('5c569ed649a0c9711879f333e90c5386'
- '8da6a4c655cecd0f2657436334a60d9c'
+ '94b9ee74d9d4c8fc59dbb161c6a2c361'
'5c85a1cef25029a8eb87d0edeec0cb04'
'f45197ec50bb5f7a85991f6e99ad49c6'
'90cd68710e3064d9b65f5549570f7821'
@@ -42,7 +53,7 @@ md5sums=('5c569ed649a0c9711879f333e90c5386'
'4f2248545c0a3997a1d301195b7dcfe7'
'e6a1be64b190d846648d671c012d6dd3')
sha256sums=('4813ad7927a7d92e5339a873ab16201b242b2748934f12cb5df9ba2cfe1d77a0'
- '82bd3706afe2beff9ff9a00fae0dd7f92e6f8f300ba0bbe8cc778c2bced20a11'
+ '85e1b0d1e3b9e67fc46affe8cd374d8cd7406b307732401c5a4e18e011c879c2'
'3bce3e9adce8ae3f826eebab75e9784ca92a914e526ae352de61c1da93aab8d3'
'328539797005cb43362b75ca9965791a1ed34525101c286e4fb49694faa40e4c'
'834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0'
@@ -72,27 +83,17 @@ prepare() {
patch -Nup1 -i "${srcdir}/patch-${pkgver}"
set +u; msg2 "Complete: patch-${pkgver}"; set -u
- # add latest fixes from stable queue, if needed
- # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
-
- # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
- # remove this when a Kconfig knob is made available by upstream
- # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
- patch -Nup1 -i "${srcdir}/change-default-console-loglevel.patch"
-
- # diff -pNaru5 'linux-3.16'{.61.orig,} > 'new_0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch'
- #(cd ..; cp -pr "${_srcname}"{,.61.orig})
- #patch -Nup1 -i "${srcdir}/0000-unknown-rela-relocation-4-binutils.2.31.kernel.3.16.patch"
-
- patch -Nup1 -i "${srcdir}/0001-binutils.2.31.max-page-size.patch"
-
- # Fix for binutils 2.34
- patch -Nup1 -i "${srcdir}/0002-binutils.2.34.sysexit.patch"
-
- # Fix for systemd 245
- # https://forum.odroid.com/viewtopic.php?f=141&t=38171
- # by stas-t Re: C2 won't boot up after upgrading systemd to 245-1 on Arch
- patch -Nup1 -i "${srcdir}/0003-systemd.245.kernel.316.ambient.capabilities.patch"
+ local _f
+ for _f in "${source[@]}"; do
+ _f="${_f%%::*}"
+ _f="${_f##*/}"
+ case "${_f}" in
+ *.patch)
+ set +u; msg2 "Patch ${_f}"; set +u
+ patch -Nup1 -i "${srcdir}/${_f}"
+ ;;
+ esac
+ done
declare -A _config=([i686]='config' [x86_64]='config.x86_64')
cat "${srcdir}/${_config[${CARCH}]}" > './.config'