From: Guenter Roeck <linux@roeck-us•net>
To: Alan Modra <amodra@gmail•com>
Cc: Stephen Rothwell <sfr@canb•auug.org.au>, linuxppc-dev@lists•ozlabs.org
Subject: Re: powerpc/ppc64: Allow allmodconfig to build (finally !)
Date: Wed, 14 May 2014 08:34:30 -0700 [thread overview]
Message-ID: <20140514153430.GA28553@roeck-us.net> (raw)
In-Reply-To: <20140514055219.GL5162@bubble.grove.modra.org>
On Wed, May 14, 2014 at 03:22:19PM +0930, Alan Modra wrote:
> On Tue, May 13, 2014 at 10:16:51PM -0700, Guenter Roeck wrote:
> > any idea what might cause this one, by any chance ?
> >
> > arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e':
> > (.text+0x165ee): relocation truncated to fit: R_PPC64_ADDR16_HI against symbol `interrupt_base_book3e' defined in .text section in arch/powerpc/kernel/built-in.o
> > arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e':
> > (.text+0x16602): relocation truncated to fit: R_PPC64_ADDR16_HI against symbol `interrupt_end_book3e' defined in .text section in arch/powerpc/kernel/built-in.o
> > arch/powerpc/kernel/built-in.o: In function `exc_debug_debug_book3e':
> >
> > I see this if I try to build powerpc:ppc64e_defconfig or powerpc:chroma_defconfig
> > with gcc 4.8.2 and binutils 2.24.
>
> Blame me. I changed the ABI, something that had to be done but
> unfortunately happens to break the booke kernel code. When building
> up a 64-bit value with lis, ori, shl, oris, ori or similar sequences,
> you now should use @high and @higha in place of @h and @ha. @h and
> @ha (and their associated relocs R_PPC64_ADDR16_HI and
> R_PPC64_ADDR16_HA) now report overflow if the value is out of 32-bit
> signed range. ie. @h and @ha assume you're building a 32-bit value.
> This is needed to report out-of-range -mcmodel=medium toc pointer
> offsets in @toc@h and @toc@ha expressions, and for consistency I did
> the same for all other @h and @ha relocs.
>
Bummer. Confirmed, if I replace "@h" with "@high" in just one place,
the builds pass with binutils 2.24. Unfortunately the same builds then
fails with binutils 2.23.
Any idea how to get it to compile with both old and new versions ?
Is there some predefined constant which I could possibly use for
something like
.if as_version_below_2.24_
oris reg,reg,(expr)@h;
.else
oris reg,reg,(expr)@high;
.endif
Thanks,
Guenter
next prev parent reply other threads:[~2014-05-14 15:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-12 5:57 [PATCH] powerpc/ppc64: Allow allmodconfig to build (finally !) Benjamin Herrenschmidt
2014-05-13 0:28 ` Guenter Roeck
2014-05-13 9:16 ` Benjamin Herrenschmidt
2014-05-13 12:35 ` Guenter Roeck
2014-05-13 17:17 ` Guenter Roeck
2014-05-14 3:34 ` Stephen Rothwell
2014-05-14 5:16 ` Guenter Roeck
2014-05-14 5:52 ` Alan Modra
2014-05-14 15:34 ` Guenter Roeck [this message]
2014-05-15 9:47 ` Alan Modra
2014-05-15 10:46 ` Guenter Roeck
2014-05-15 12:22 ` Benjamin Herrenschmidt
2014-05-15 13:09 ` Guenter Roeck
2014-05-14 5:42 ` Alan Modra
2014-05-13 19:41 ` Guenter Roeck
2014-06-12 12:26 ` Guenter Roeck
2014-06-12 21:57 ` Benjamin Herrenschmidt
2014-06-12 22:17 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140514153430.GA28553@roeck-us.net \
--to=linux@roeck-us$(echo .)net \
--cc=amodra@gmail$(echo .)com \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=sfr@canb$(echo .)auug.org.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox