All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Alan Modra <amodra@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org, linux-next@vger.kernel.org,
	linux-kernel@vger.kernel.org, tony@bakeyournoodle.com
Subject: Re: linux-next: build failure after merge of the final tree
Date: Fri, 6 Jul 2012 10:21:51 +1000	[thread overview]
Message-ID: <20120706102151.fd4f769cf2aa3f753ad178bf@canb.auug.org.au> (raw)
In-Reply-To: <20120705094348.GA5805@bubble.grove.modra.org>

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

Hi Alan,

On Thu, 5 Jul 2012 19:13:48 +0930 Alan Modra <amodra@gmail.com> wrote:
>
> On Thu, Jul 05, 2012 at 06:33:45PM +1000, Stephen Rothwell wrote:
> > powerpc64-linux-ld: drivers/built-in.o: In function `.gpiochip_is_requested':
> > (.text+0x4): sibling call optimization to `_savegpr0_29' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_savegpr0_29' extern
> > 
> > I got more than 60000 of these messages before I killed the link. :-(  I
> > am not sure what has changed to do this, but it may have been masked for
> > the past few releases due to other linking problems.
> 
> Let me guess.  You're using bleeding edge gcc but not binutils.

powerpc-linux-gcc (GCC) 4.6.3
GNU ld (GNU Binutils) 2.22

both built from upstream sources (by Tony).

> a) Recent gcc has fixed prologue and epilogue generation which now
>    properly makes use of out-of-line register save and restore
>    functions when compiling with -Os.
> b) Recent ld doesn't emit out-of-line save/restore function for ld -r,
>    but yours does.  You need my 2012-06-22 patch.
> c) Kernel uses ld -r for packaging.
> 
> (b) and (c) together mean you get a definition for _savegpr0_29 munged
> together with other functions.  That's bad.  If _savegpr0_29 wasn't
> emitted until the final link stage then it would be in a code section
> containing just save/restore functions.  ld will analyse that section
> and notice the absense of toc relocations; functions therein don't
> use the toc and can thus be called from any toc group without needing
> a toc adjusting stub.  In your case _savegpr0_29 is in a section that
> has toc relocations (from normal compiled code), so ld decides that
> any function in that section must have a proper value for the toc
> register.  But calls to _savegpr0_29 don't have a following nop to
> overwrite with a toc restore insn, hence the ld error.
> 
> Score another black mark for ld -r.

OK, the new toolchain may be the problem.  I changed from:

powerpc-linux-gcc (GCC) 4.6.0
GNU ld (GNU Binutils) 2.21

on June 20 and the current errors may have been masked an early bailout
after getting theses errors:

powerpc64-linux-ld: arch/powerpc/net/built-in.o: In function `bpf_slow_path_word':
(.text+0x90): sibling call optimization to `skb_copy_bits' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `skb_copy_bits' extern

which have now been fixed.  So would a simple patch that puts the
_savegpr etc functions in their own section (defined how?) fix this for
us?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Alan Modra <amodra@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-next@vger.kernel.org,
	Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: linux-next: build failure after merge of the final tree
Date: Fri, 6 Jul 2012 10:21:51 +1000	[thread overview]
Message-ID: <20120706102151.fd4f769cf2aa3f753ad178bf@canb.auug.org.au> (raw)
In-Reply-To: <20120705094348.GA5805@bubble.grove.modra.org>

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

Hi Alan,

On Thu, 5 Jul 2012 19:13:48 +0930 Alan Modra <amodra@gmail.com> wrote:
>
> On Thu, Jul 05, 2012 at 06:33:45PM +1000, Stephen Rothwell wrote:
> > powerpc64-linux-ld: drivers/built-in.o: In function `.gpiochip_is_requested':
> > (.text+0x4): sibling call optimization to `_savegpr0_29' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_savegpr0_29' extern
> > 
> > I got more than 60000 of these messages before I killed the link. :-(  I
> > am not sure what has changed to do this, but it may have been masked for
> > the past few releases due to other linking problems.
> 
> Let me guess.  You're using bleeding edge gcc but not binutils.

powerpc-linux-gcc (GCC) 4.6.3
GNU ld (GNU Binutils) 2.22

both built from upstream sources (by Tony).

> a) Recent gcc has fixed prologue and epilogue generation which now
>    properly makes use of out-of-line register save and restore
>    functions when compiling with -Os.
> b) Recent ld doesn't emit out-of-line save/restore function for ld -r,
>    but yours does.  You need my 2012-06-22 patch.
> c) Kernel uses ld -r for packaging.
> 
> (b) and (c) together mean you get a definition for _savegpr0_29 munged
> together with other functions.  That's bad.  If _savegpr0_29 wasn't
> emitted until the final link stage then it would be in a code section
> containing just save/restore functions.  ld will analyse that section
> and notice the absense of toc relocations; functions therein don't
> use the toc and can thus be called from any toc group without needing
> a toc adjusting stub.  In your case _savegpr0_29 is in a section that
> has toc relocations (from normal compiled code), so ld decides that
> any function in that section must have a proper value for the toc
> register.  But calls to _savegpr0_29 don't have a following nop to
> overwrite with a toc restore insn, hence the ld error.
> 
> Score another black mark for ld -r.

OK, the new toolchain may be the problem.  I changed from:

powerpc-linux-gcc (GCC) 4.6.0
GNU ld (GNU Binutils) 2.21

on June 20 and the current errors may have been masked an early bailout
after getting theses errors:

powerpc64-linux-ld: arch/powerpc/net/built-in.o: In function `bpf_slow_path_word':
(.text+0x90): sibling call optimization to `skb_copy_bits' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `skb_copy_bits' extern

which have now been fixed.  So would a simple patch that puts the
_savegpr etc functions in their own section (defined how?) fix this for
us?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2012-07-06  0:22 UTC|newest]

Thread overview: 244+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05  8:33 linux-next: build failure after merge of the final tree Stephen Rothwell
2012-07-05  8:33 ` Stephen Rothwell
2012-07-05  9:43 ` Alan Modra
2012-07-05  9:43   ` Alan Modra
2012-07-06  0:21   ` Stephen Rothwell [this message]
2012-07-06  0:21     ` Stephen Rothwell
2012-07-06  0:57     ` Alan Modra
2012-07-06  0:57       ` Alan Modra
2012-07-06  3:01       ` Stephen Rothwell
2012-07-06  3:01         ` Stephen Rothwell
2012-07-06  6:08         ` Alan Modra
2012-07-06  6:08           ` Alan Modra
  -- strict thread matches above, loose matches on Subject: below --
2014-05-28  9:46 Stephen Rothwell
2014-05-28  9:57 ` Paul Bolle
2014-05-28 10:14   ` Paul Bolle
2014-05-28 20:21     ` Paul Bolle
2014-05-28 20:42       ` Greg KH
2014-05-28 20:48         ` Paul Bolle
2014-05-28 21:15           ` Greg KH
2014-05-28 10:24   ` Stephen Rothwell
2014-04-07  4:52 Stephen Rothwell
2014-04-07 18:26 ` Andrew Morton
2014-04-07 21:51   ` Stephen Rothwell
2014-01-30  3:55 Stephen Rothwell
2014-01-06  9:28 Stephen Rothwell
2014-01-06  9:28 ` Stephen Rothwell
2014-01-06  9:28 ` Stephen Rothwell
2014-01-06 23:12 ` Benjamin Herrenschmidt
2014-01-06 23:12   ` Benjamin Herrenschmidt
2013-12-17  5:59 Stephen Rothwell
2013-12-17  8:26 ` Heiko Stübner
2013-12-16  5:47 Stephen Rothwell
2013-12-16  7:08 ` Krzysztof Kozlowski
2013-12-16 11:45   ` Mark Brown
2013-12-16 12:13     ` Krzysztof Kozlowski
2013-12-16 12:33       ` Mark Brown
2013-12-16 13:29         ` Stephen Rothwell
2013-11-18  3:19 Stephen Rothwell
2013-11-18  8:49 ` Kirill A. Shutemov
2013-11-18 23:09   ` David Miller
2013-11-18  3:01 Stephen Rothwell
2013-11-04  6:52 Stephen Rothwell
2013-11-04 17:06 ` Mark Brown
2013-10-29  9:16 Stephen Rothwell
2013-10-29 13:11 ` Linus Walleij
2013-10-29 13:20   ` Linus Walleij
2013-09-27  8:32 Stephen Rothwell
2013-09-27 14:40 ` Chris Ball
2013-08-20  7:20 Stephen Rothwell
2013-08-20  7:20 ` Stephen Rothwell
2013-08-20  7:20 ` Stephen Rothwell
2013-08-20  7:20 ` Stephen Rothwell
2013-08-20 16:07 ` Dwight Engen
2013-08-20 16:07   ` Dwight Engen
2013-08-20 16:07   ` Dwight Engen
2013-08-20 16:07   ` Dwight Engen
2013-08-20 19:28   ` Ben Myers
2013-08-20 19:28     ` Ben Myers
2013-08-20 19:28     ` Ben Myers
2013-08-21  0:22     ` Stephen Rothwell
2013-08-21  0:22       ` Stephen Rothwell
2013-08-21  0:22       ` Stephen Rothwell
2013-08-21 15:54       ` Ben Myers
2013-08-21 15:54         ` Ben Myers
2013-08-21 15:54         ` Ben Myers
2013-08-20 20:46   ` Arnd Bergmann
2013-08-20 20:46     ` Arnd Bergmann
2013-08-20 20:46     ` Arnd Bergmann
2013-08-21  5:08     ` Dwight Engen
2013-08-21  5:08       ` Dwight Engen
2013-08-21  5:08       ` Dwight Engen
2013-08-21  6:30       ` Jeremy Kerr
2013-08-21  6:30         ` Jeremy Kerr
2013-08-21  6:30         ` Jeremy Kerr
2013-08-21 15:56         ` Ben Myers
2013-08-21 15:56           ` Ben Myers
2013-08-21 15:56           ` Ben Myers
2013-03-12  4:30 Stephen Rothwell
2013-03-12  9:31 ` Daniel Hellstrom
2013-03-12 11:57   ` Stephen Rothwell
2013-03-12 16:13     ` Dmitry Torokhov
2013-03-13 11:20       ` Daniel Hellstrom
2013-02-06  7:30 Stephen Rothwell
2013-02-06  7:42 ` Stephen Rothwell
2013-02-06 17:52   ` Greg Kroah-Hartman
2013-02-06 18:40     ` David Miller
2012-10-16  3:50 Stephen Rothwell
2012-10-16  4:21 ` Al Viro
2012-07-31  5:14 Stephen Rothwell
2012-07-19  7:08 Stephen Rothwell
2012-07-19 13:53 ` Javier Muñoz
2012-05-22  8:20 Stephen Rothwell
2012-05-22 19:05 ` David Miller
2012-05-23  2:08   ` Stephen Rothwell
2012-05-21  8:54 Stephen Rothwell
2012-05-21  9:12 ` Ingo Molnar
2012-05-21  9:15   ` Stephen Rothwell
2012-05-22  8:25   ` Stephen Rothwell
2012-05-23 15:35     ` Ingo Molnar
2012-05-24  7:16       ` Stephen Rothwell
2012-05-24  7:22         ` Ingo Molnar
2012-05-24  7:22           ` Ingo Molnar
2012-05-24 14:06         ` H. Peter Anvin
2012-02-27  7:06 Stephen Rothwell
2012-02-27 21:17 ` Greg KH
2012-02-27 21:24   ` Alan Cox
2012-02-27  7:05 Stephen Rothwell
2012-02-27  6:37 Stephen Rothwell
2012-02-27  6:37 ` Stephen Rothwell
2012-02-27  9:19 ` Benjamin Herrenschmidt
2012-02-27  9:19   ` Benjamin Herrenschmidt
2012-02-27 23:30   ` Benjamin Herrenschmidt
2012-02-27 23:30     ` Benjamin Herrenschmidt
2012-01-20  7:21 Stephen Rothwell
2012-01-20  7:21 ` Stephen Rothwell
2012-01-20  7:21 ` Stephen Rothwell
2012-01-20  9:08 ` Deepthi Dharwar
2012-01-20  9:08   ` Deepthi Dharwar
2012-01-20  7:11 Stephen Rothwell
2012-01-20  7:34 ` Andrew Morton
2012-01-20  8:21   ` Sebastian Andrzej Siewior
2012-01-05  8:04 Stephen Rothwell
2012-01-06  0:04 ` Andrew Morton
2012-01-09  5:59   ` Stephen Rothwell
2012-01-09  6:20     ` Stephen Rothwell
2012-01-09 15:42       ` Greg KH
2012-01-09 15:54         ` Steven Rostedt
2012-01-09 16:27           ` Stephen Rothwell
2012-01-09 16:26         ` Stephen Rothwell
2012-01-09 21:35     ` David Miller
2012-01-09 21:41       ` Steven Rostedt
2011-12-17  4:22 Stephen Rothwell
2011-12-17  4:27 ` Stephen Rothwell
2011-09-30  1:38 Stephen Rothwell
2011-09-30  2:49 ` Yoshihiro Shimoda
2011-09-30  1:23 Stephen Rothwell
2011-09-30  1:12 Stephen Rothwell
2011-09-30  2:40 ` Paul Gortmaker
2011-09-30  3:05   ` Stephen Rothwell
2011-09-30  3:22     ` Paul Gortmaker
2011-09-30  3:22       ` Paul Gortmaker
2011-09-30  1:05 Stephen Rothwell
2011-09-30  7:57 ` Heiko Carstens
2011-09-28  9:56 Stephen Rothwell
2011-09-28 12:02 ` huang ying
2011-08-23  5:48 Stephen Rothwell
2011-08-23 14:32 ` Randy Dunlap
2011-07-18  9:35 Stephen Rothwell
2011-07-18  9:35 ` Stephen Rothwell
2011-07-18  9:30 Stephen Rothwell
2011-07-18 17:58 ` David Miller
2011-07-18 20:52   ` Sam Ravnborg
2011-05-27  5:11 Stephen Rothwell
2011-05-27 14:47 ` Mike Frysinger
2011-05-23  4:56 Stephen Rothwell
2011-05-23  5:17 ` Artem Bityutskiy
2011-05-20  6:32 Stephen Rothwell
2011-05-20  6:32 ` Stephen Rothwell
2011-05-20  6:27 Stephen Rothwell
2011-05-20  6:23 Stephen Rothwell
2011-05-20  6:23 ` Stephen Rothwell
2011-05-20  6:18 Stephen Rothwell
2011-05-20  6:18 ` Stephen Rothwell
2011-05-24  2:06 ` Mike Frysinger
2011-05-24  2:06   ` Mike Frysinger
2011-05-24  2:51   ` Greg KH
2011-05-24  2:51     ` Greg KH
2011-05-24  3:59     ` Stephen Rothwell
2011-05-24 12:48       ` Greg KH
2011-05-24 12:48         ` Greg KH
2011-05-24 21:52         ` Stephen Rothwell
2011-05-24  4:01   ` Linus Torvalds
2011-05-24  4:01     ` Linus Torvalds
2011-05-24  4:10     ` Mike Frysinger
2011-05-24  4:10       ` Mike Frysinger
2011-05-24 17:10       ` Mike Frysinger
2011-05-24 17:10         ` Mike Frysinger
2011-05-24 17:29         ` Linus Torvalds
2011-05-24 17:29           ` Linus Torvalds
2011-05-25  9:24         ` Felipe Balbi
2011-05-25 12:13           ` Mike Frysinger
2011-05-25 12:13             ` Mike Frysinger
2011-05-20  6:12 Stephen Rothwell
2011-05-20 15:24 ` Linus Torvalds
2011-05-20 16:16   ` Thomas Gleixner
2011-05-20 16:29     ` Linus Torvalds
2011-03-28  3:44 Stephen Rothwell
2011-03-24  3:30 Stephen Rothwell
2011-03-24  4:13 ` Andrew Morton
2011-03-24 19:55   ` Tony Luck
2011-01-31  6:26 Stephen Rothwell
2011-01-31  6:26 ` Stephen Rothwell
2011-01-15  2:10 Stephen Rothwell
2011-01-15  4:27 ` Andrea Arcangeli
2010-11-29  2:07 Stephen Rothwell
2010-11-09  4:03 Stephen Rothwell
2010-09-16  5:15 Stephen Rothwell
2010-09-16  5:47 ` Takashi Iwai
2010-08-11  3:38 Stephen Rothwell
2010-08-11  5:23 ` Andrew Morton
2010-08-11  7:38   ` Stephen Rothwell
2010-07-27  7:00 Stephen Rothwell
2010-07-16  7:11 Stephen Rothwell
2010-07-16 18:39 ` Yinghai Lu
2010-07-16 20:58   ` Russell King
2010-07-16 23:07     ` Stephen Rothwell
2010-06-23 16:19 Stephen Rothwell
2010-06-24  0:36 ` Stephen Rothwell
2010-06-24  9:00   ` Catalin Marinas
2010-06-24  9:09     ` Russell King
2010-06-24 10:18     ` Phil Carmody
2010-05-25  4:10 Stephen Rothwell
2010-05-25  4:10 ` Stephen Rothwell
2010-05-25  4:10 ` Stephen Rothwell
2010-05-25  4:58 ` David Miller
2010-05-25  4:58   ` David Miller
2010-05-25  5:14   ` Herbert Xu
2010-05-25  5:14     ` Herbert Xu
2010-05-25  6:56     ` David Miller
2010-05-25  6:56       ` David Miller
2010-05-14  5:53 Stephen Rothwell
2010-05-14 15:03 ` Don Zickus
2010-05-15  7:37   ` Ingo Molnar
2010-05-15 20:28     ` Frederic Weisbecker
2010-05-14 15:11 ` Don Zickus
2010-04-27  5:49 Stephen Rothwell
2010-04-28  9:41 ` Alexander Graf
2010-04-28  9:48   ` Avi Kivity
2010-04-28 15:21 ` Marcelo Tosatti
2010-04-08  5:35 Stephen Rothwell
2010-04-08  5:35 ` Stephen Rothwell
2010-04-08  6:25 ` David Miller
2010-04-08 14:15   ` John Linn
2010-04-08 14:15     ` John Linn
2010-04-08 22:59     ` Stephen Rothwell
2010-04-08 22:59       ` Stephen Rothwell
2010-04-08 23:01       ` John Linn
2010-04-08 23:01         ` John Linn
     [not found] <20100318160220.b7eaded6.sfr@canb.auug.org.au>
2010-03-18  6:21 ` David Miller
     [not found] <20100301203453.938e4136.sfr@canb.auug.org.au>
2010-03-01  9:42 ` Jens Axboe
2010-03-01 10:07   ` Stephen Rothwell
2010-03-01  9:40 Stephen Rothwell
2010-03-01  9:38 Stephen Rothwell
2010-03-02 20:47 ` Greg KH

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=20120706102151.fd4f769cf2aa3f753ad178bf@canb.auug.org.au \
    --to=sfr@canb.auug.org.au \
    --cc=amodra@gmail.com \
    --cc=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.org \
    --cc=tony@bakeyournoodle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.