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 --]
next prev parent 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: linkBe 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.