[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5794CA78.8060205@roeck-us.net>
Date: Sun, 24 Jul 2016 07:02:32 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: 'kbuild: simpler generation of assembly constants' causing frv
build errors
On 07/24/2016 01:24 AM, Alexey Dobriyan wrote:
> On Sat, Jul 23, 2016 at 05:11:23PM -0700, Guenter Roeck wrote:
>> Hi,
>>
>> your commit 'kbuild: simpler generation of assembly constants' in next
>> causes build errors when trying to build frv images.
>>
>> arch/frv/kernel/switch_to.S: Assembler messages:
>> arch/frv/kernel/switch_to.S:155: Error: unresolved expression that must be resolved
>> arch/frv/kernel/switch_to.S:160: Error: unresolved expression that must be resolved
>
> OK, I don't have frv cross-compiler.
>
I use the compiler from https://www.kernel.org/pub/tools/crosstool/.
> What's in include/generated/asm-offsets.h ?
>
Here is a whitespace-cleaned diff of the file as generated in mainline against -next.
< #define REG_PSR 0 /* offsetof(struct pt_regs, psr) ; */
< #define REG_ISR 4 /* offsetof(struct pt_regs, isr) ; */
< #define REG_CCR 8 /* offsetof(struct pt_regs, ccr) ; */
< #define REG_CCCR 12 /* offsetof(struct pt_regs, cccr) ; */
< #define REG_LR 16 /* offsetof(struct pt_regs, lr) ; */
< #define REG_LCR 20 /* offsetof(struct pt_regs, lcr) ; */
< #define REG_PC 24 /* offsetof(struct pt_regs, pc) ; */
< #define REG__STATUS 28 /* offsetof(struct pt_regs, __status) ; */
< #define REG_SYSCALLNO 32 /* offsetof(struct pt_regs, syscallno) ; */
< #define REG_ORIG_GR8 36 /* offsetof(struct pt_regs, orig_gr8) ; */
< #define REG_GNER0 40 /* offsetof(struct pt_regs, gner0) ; */
< #define REG_GNER1 44 /* offsetof(struct pt_regs, gner1) ; */
< #define REG_IACC0 48 /* offsetof(struct pt_regs, iacc0) ; */
< #define REG_TBR 56 /* offsetof(struct pt_regs, tbr) ; */
< #define REG_GR0 56 /* offsetof(struct pt_regs, tbr) ; */
32,47d14
<
< #define REG_DCR 632 /* offsetof(struct frv_frame0, debug.dcr) ; */
< #define REG_IBAR0 640 /* offsetof(struct frv_frame0, debug.ibar[0]) ; */
< #define REG_DBAR0 656 /* offsetof(struct frv_frame0, debug.dbar[0]) ; */
< #define REG_DBDR00 672 /* offsetof(struct frv_frame0, debug.dbdr[0][0]) ; */
< #define REG_DBMR00 736 /* offsetof(struct frv_frame0, debug.dbmr[0][0]) ; */
<
< #define __INT_GR0 56 /* offsetof(struct user_context, i.gr[0]) ; */
< #define __USER_FPMEDIA 312 /* offsetof(struct user_context, f) ; */
< #define __FPMEDIA_FR0 312 /* offsetof(struct user_context, f.fr[0]) ; */
< #define __FPMEDIA_FNER0 568 /* offsetof(struct user_context, f.fner[0]) ; */
< #define __FPMEDIA_MSR0 576 /* offsetof(struct user_context, f.msr[0]) ; */
< #define __FPMEDIA_ACC0 584 /* offsetof(struct user_context, f.acc[0]) ; */
< #define __FPMEDIA_ACCG0 616 /* offsetof(struct user_context, f.accg[0]) ; */
< #define __FPMEDIA_FSR0 624 /* offsetof(struct user_context, f.fsr[0]) ; */
A quick glance suggests that those missing defines are responsible for
the build problems.
Guenter
Powered by blists - more mailing lists