From: Michal Marek <mmarek@suse.cz>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-kbuild@vger.kernel.org
Subject: Re: linux-next: build failure after merge of the kbuild tree
Date: Wed, 20 Apr 2011 15:50:31 +0200 [thread overview]
Message-ID: <20110420135030.GA1901@sepie.suse.cz> (raw)
In-Reply-To: <20110420082514.a9ec4d68.sfr@canb.auug.org.au>
On Wed, Apr 20, 2011 at 08:25:14AM +1000, Stephen Rothwell wrote:
> Hi Michal,
>
> After merging the kbuild tree, today's linux-next build (s390 allnoconfig)
> failed like this:
>
> /opt/crosstool/gcc-4.3.2-nolibc/bin/s390x-linux-ar: illegal option -- D
>
> Caused by commit 09ff9fecc039 ("kbuild: Use the deterministic mode of ar").
>
> $ /opt/crosstool/gcc-4.3.2-nolibc/bin/s390x-linux-ar --version
> GNU ar (GNU Binutils) 2.19
>
> I presume that this version of ar is now too old to build the kernel?
> Documentation/Changes only mentions Binutils verion 2.12.
Sorry about that, the following patch should fix it.
Michal
Subject: [PATCH] kbuild: Fix build with binutils <= 2.19
The D option of ar is only available in newer versions.
Signed-off-by: Michal Marek <mmarek@suse.cz>
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 5d145bb..40e082b 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -955,6 +955,11 @@ When kbuild executes, the following steps are followed (roughly):
used when linking modules. This is often a linker script.
From commandline LDFLAGS_MODULE shall be used (see kbuild.txt).
+ KBUILD_ARFLAGS Options for $(AR) when creating archives
+
+ $(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
+ mode) if this option is supported by $(AR).
+
--- 6.2 Add prerequisites to archprepare:
The archprepare: rule is used to list prerequisites that need to be
diff --git a/Makefile b/Makefile
index c3bd316..d7c4231 100644
--- a/Makefile
+++ b/Makefile
@@ -382,6 +382,7 @@ export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
+export KBUILD_ARFLAGS
# When compiling out-of-tree modules, put MODVERDIR in the module
# tree rather than in the kernel tree. The kernel tree might
@@ -612,6 +613,9 @@ KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
# conserve stack if available
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
+# use the deterministic mode of AR if available
+KBUILD_ARFLAGS := $(call ar-option,D)
+
# check for 'asm goto'
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index ed2773e..fae2d8d 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -141,6 +141,11 @@ cc-ldoption = $(call try-run,\
ld-option = $(call try-run,\
$(CC) /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2))
+# ar-option
+# Usage: KBUILD_ARFLAGS := $(call ar-option,D)
+# Important: no spaces around options
+ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
+
######
###
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5f87d37..e1244ef 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -345,7 +345,7 @@ quiet_cmd_link_o_target = LD $@
cmd_link_o_target = $(if $(strip $(obj-y)),\
$(LD) $(ld_flags) -r -o $@ $(filter $(obj-y), $^) \
$(cmd_secanalysis),\
- rm -f $@; $(AR) rcsD $@)
+ rm -f $@; $(AR) rcs$(KBUILD_ARFLAGS) $@)
$(builtin-target): $(obj-y) FORCE
$(call if_changed,link_o_target)
@@ -371,7 +371,7 @@ $(modorder-target): $(subdir-ym) FORCE
#
ifdef lib-target
quiet_cmd_link_l_target = AR $@
-cmd_link_l_target = rm -f $@; $(AR) rcsD $@ $(lib-y)
+cmd_link_l_target = rm -f $@; $(AR) rcs$(KBUILD_ARFLAGS) $@ $(lib-y)
$(lib-target): $(lib-y) FORCE
$(call if_changed,link_l_target)
next prev parent reply other threads:[~2011-04-20 13:50 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-19 22:25 linux-next: build failure after merge of the kbuild tree Stephen Rothwell
2011-04-19 22:30 ` Stephen Rothwell
2011-04-20 13:50 ` Michal Marek [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-08-18 4:01 Stephen Rothwell
2025-08-18 4:27 ` Nathan Chancellor
2025-07-30 6:12 Stephen Rothwell
2025-08-04 1:25 ` Stephen Rothwell
2025-08-04 7:09 ` Alexey Gladkov
2025-08-04 22:17 ` Stephen Rothwell
2025-08-05 3:33 ` Stephen Rothwell
2025-08-12 21:51 ` Alexey Gladkov
2025-06-03 6:39 Stephen Rothwell
2025-03-23 23:30 Stephen Rothwell
2025-03-24 13:52 ` Jeff Johnson
2025-03-24 17:37 ` Arnd Bergmann
2025-03-24 17:40 ` Jeff Johnson
2025-03-26 23:16 ` Stephen Rothwell
2025-03-27 0:20 ` Jeff Johnson
2025-03-27 10:13 ` Alessandro Carminati
2024-09-11 0:18 Stephen Rothwell
2024-09-11 9:38 ` Masahiro Yamada
2024-09-11 13:20 ` Kris Van Hees
2024-09-12 1:49 ` Masahiro Yamada
2022-10-14 1:42 Stephen Rothwell
2022-10-14 13:31 ` Masahiro Yamada
2022-10-12 22:17 Stephen Rothwell
2022-10-12 22:34 ` Masahiro Yamada
2022-10-12 23:51 ` Stephen Rothwell
2022-09-08 23:00 Stephen Rothwell
2022-09-09 5:10 ` Masahiro Yamada
2022-09-09 5:24 ` Stephen Rothwell
2022-09-09 6:13 ` Stephen Rothwell
2022-09-09 6:48 ` Masahiro Yamada
2022-09-09 7:49 ` Stephen Rothwell
[not found] ` <CAK7LNARiW66Hk5JJgRYb-edkb6sgTWPbNr1iETkq-RASCo-YkA@mail.gmail.com>
2022-09-11 23:55 ` Stephen Rothwell
2022-09-12 5:06 ` Masahiro Yamada
2022-09-12 7:43 ` Stephen Rothwell
2022-09-09 8:26 ` Stephen Rothwell
2022-09-08 0:06 Stephen Rothwell
2022-09-08 4:14 ` Masahiro Yamada
2022-09-07 12:34 Stephen Rothwell
2022-09-07 13:49 ` Masahiro Yamada
2022-05-23 10:59 Stephen Rothwell
2022-05-23 15:59 ` Masahiro Yamada
2021-08-26 9:13 Stephen Rothwell
2021-08-27 0:52 ` Masahiro Yamada
2021-08-27 1:50 ` Stephen Rothwell
2021-08-27 2:49 ` Masahiro Yamada
2021-02-21 21:33 Stephen Rothwell
2021-02-21 23:21 ` Masahiro Yamada
2020-07-07 7:07 Stephen Rothwell
2020-07-13 1:56 ` Stephen Rothwell
2020-07-13 7:52 ` Masahiro Yamada
2020-04-06 2:34 Stephen Rothwell
2020-04-07 4:41 ` Masahiro Yamada
2020-03-10 22:53 Stephen Rothwell
2020-03-11 4:22 ` Masahiro Yamada
2019-07-16 4:31 Stephen Rothwell
2019-07-16 4:59 ` Masahiro Yamada
2019-07-16 6:42 ` Stephen Rothwell
2019-07-05 8:31 Stephen Rothwell
2019-07-06 0:05 ` Michael Kelley
2019-07-06 0:58 ` Masahiro Yamada
2019-05-05 23:46 Stephen Rothwell
2019-05-05 23:35 Stephen Rothwell
2019-05-05 22:40 Stephen Rothwell
2018-08-22 22:35 Stephen Rothwell
2018-08-23 9:03 ` Masahiro Yamada
2018-05-30 1:29 Stephen Rothwell
2018-05-30 1:44 ` Masahiro Yamada
2018-05-15 5:50 Stephen Rothwell
2018-05-16 6:01 ` Masahiro Yamada
2018-05-16 7:26 ` Stephen Rothwell
2018-05-17 13:45 ` Masahiro Yamada
2018-03-28 21:58 Stephen Rothwell
2018-03-29 1:59 ` Masahiro Yamada
2016-09-15 6:08 Stephen Rothwell
2016-09-22 12:52 ` Michal Marek
2016-07-28 2:08 Stephen Rothwell
2016-07-28 2:40 ` Michael Ellerman
2016-03-15 23:58 Stephen Rothwell
2016-03-16 7:53 ` Daniel Wagner
2016-03-16 7:56 ` Michal Marek
2016-03-16 11:29 ` Stephen Rothwell
2016-03-16 11:31 ` Michal Marek
2013-02-24 23:56 Stephen Rothwell
2013-02-25 10:28 ` Michal Marek
2013-02-25 10:58 ` Stephen Rothwell
2013-02-25 11:02 ` Stephen Rothwell
2013-02-25 11:36 ` Michal Marek
2010-03-11 5:15 Stephen Rothwell
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=20110420135030.GA1901@sepie.suse.cz \
--to=mmarek@suse.cz \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).