From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966177AbdEOTNq (ORCPT ); Mon, 15 May 2017 15:13:46 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:33618 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964967AbdEOTNo (ORCPT ); Mon, 15 May 2017 15:13:44 -0400 Date: Mon, 15 May 2017 12:13:42 -0700 From: Matthias Kaehlcke To: Guenter Roeck , David Howells , Sudip Mukherjee Cc: linux-kernel@vger.kernel.org, Andrew Morton Subject: Re: frv build failure in mainline kernel Message-ID: <20170515191342.GA141096@google.com> References: <20170515170215.GA30333@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170515170215.GA30333@roeck-us.net> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org El Mon, May 15, 2017 at 10:02:15AM -0700 Guenter Roeck ha dit: > Hi all, > > frv fails to build in mainline with the following build errors. > > kernel/built-in.o: In function `__do_softirq': > (.text+0x6460): relocation truncated to fit: R_FRV_GPREL12 against symbol > `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `__do_softirq': > (.text+0x6574): relocation truncated to fit: R_FRV_GPREL12 against symbol > `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `pwq_activate_delayed_work': > workqueue.c:(.text+0x15b9c): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `worker_enter_idle': > workqueue.c:(.text+0x1612c): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > workqueue.c:(.text+0x161f0): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `pool_mayday_timeout': > workqueue.c:(.text+0x1630c): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `idle_worker_timeout': > workqueue.c:(.text+0x1649c): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > workqueue.c:(.text+0x164f8): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `__queue_work': > workqueue.c:(.text+0x170f4): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `__queue_delayed_work': > workqueue.c:(.text+0x1745c): relocation truncated to fit: R_FRV_GPREL12 against > symbol `jiffies' defined in *ABS* section in .tmp_vmlinux1 > kernel/built-in.o: In function `worker_thread': > workqueue.c:(.text+0x182e4): additional relocation overflows omitted from the output > > Bisect points to commit 7c30f352c852 ("jiffies.h: declare jiffies and jiffies_64 > with ____cacheline_aligned_in_smp"). Bisect log is attached. > > Guenter > > --- > # bad: [2ea659a9ef488125eb46da6eb571de5eae5c43f6] Linux 4.12-rc1 > # good: [13e0988140374123bead1dd27c287354cb95108e] docs: complete bumping minimal GNU Make version to 3.81 > git bisect start 'HEAD' '13e098814037' > # bad: [c6778ff813d2ca3e3c8733c87dc8b6831a64578b] Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc > git bisect bad c6778ff813d2ca3e3c8733c87dc8b6831a64578b > # bad: [11fbf53d66ec302fe50b06bd7cb4863dbb98775a] Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs > git bisect bad 11fbf53d66ec302fe50b06bd7cb4863dbb98775a > # good: [2d3e4866dea96b0506395b47bfefb234f2088dac] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm > git bisect good 2d3e4866dea96b0506395b47bfefb234f2088dac > # bad: [8f3207c7eab9d885cc64c778416537034a7d9c5b] Merge tag 'tty-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty > git bisect bad 8f3207c7eab9d885cc64c778416537034a7d9c5b > # bad: [063246641d4a9e9de84a2466fbad50112faf88dc] format-security: move static strings to const > git bisect bad 063246641d4a9e9de84a2466fbad50112faf88dc > # bad: [f61e869d519c0c11a8d80a503cfdfb4897df855a] kcov: simplify interrupt check > git bisect bad f61e869d519c0c11a8d80a503cfdfb4897df855a > # bad: [0b523769ebb9473c60df1b0f70615aa82ebac2c9] checkpatch: add ability to find bad uses of vsprintf %p extensions > git bisect bad 0b523769ebb9473c60df1b0f70615aa82ebac2c9 > # good: [3d88936f35bc67f7bee2efd4eec69baf26c17a5a] drivers/virt/fsl_hypervisor.c: use get_user_pages_unlocked() > git bisect good 3d88936f35bc67f7bee2efd4eec69baf26c17a5a > # bad: [8128a31eaadbcdfa37774bbd28f3f00bac69996a] drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() > git bisect bad 8128a31eaadbcdfa37774bbd28f3f00bac69996a > # bad: [31b8cc80776c1b5a17abda6e0bbb5c615b9d90e4] make help: add tools help target > git bisect bad 31b8cc80776c1b5a17abda6e0bbb5c615b9d90e4 > # bad: [7c30f352c852bae2715ad65ac4a38ca9af7d7696] jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp > git bisect bad 7c30f352c852bae2715ad65ac4a38ca9af7d7696 > # first bad commit: [7c30f352c852bae2715ad65ac4a38ca9af7d7696] > jiffies.h: declare jiffies and jiffies_64 with > ____cacheline_aligned_in_smp This is apparently related with the removal of the __jiffy_data 'attribute' by this patch: -/* some arch's have a small-data section that can be accessed register-relative - * but that can only take up to, say, 4-byte variables. jiffies being part of - * an 8-byte variable may not be correctly accessed unless we force the issue - */ -#define __jiffy_data __attribute__((section(".data"))) On frv the 'jiffies' symbol isn't part of the .data section: c03a6b00 g O .data 00000008 jiffies_64 c03a6b04 g *ABS* 00000000 jiffies Which is different from x86: ffffffff81c0a000 g O .data 0000000000000008 jiffies ffffffff81c0a000 g O .data 0000000000000008 jiffies_64 or arm64: ffffffc001062180 g O .data 0000000000000008 jiffies_64 ffffffc001062180 g O .data 0000000000000000 jiffies Not sure what the appropriate fix would be. Maybe someone more familiar with the platform has an idea? Thanks Matthias