Thread (14 messages) flat view 14 messages, 4 authors, 2018-05-10

Re: [PATCH v2 4/5] powerpc/kbuild: Use flags variables rather than overriding LD/CC/AS

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2018-05-10 13:03:13
Also in: linux-kbuild

Nicholas Piggin [off-list ref] writes:
The powerpc toolchain can compile combinations of 32/64 bit and
big/little endian, so it's convenient to consider, e.g.,

  `CC -m64 -mbig-endian`

To be the C compiler for the purpose of invoking it to build target
artifacts. So overriding the the CC variable to include thse flags
works for this purpose.

Unfortunately that is not compatible with the way the proposed new
Kconfig macro language will work.

After previous patches in this series, these flags can be carefully
passed in using flags instead.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 arch/powerpc/Makefile   | 16 +++++++++-------
 scripts/recordmcount.pl |  8 ++++++++
We should probably at least Cc Rostedt on the recordmcount.pl change.
quoted hunk ↗ jump to hunk
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 191eb949d52c..919711dd9d6c 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -274,6 +274,14 @@ if ($arch eq "x86_64") {
Despite what the above says you're patching the powerpc entry AFAICS, so
I guess that's pretty harmless.
     if ($bits == 64) {
 	$type = ".quad";
     }
+    $ld .= " -EB ";
+    if ($endian eq "big") {
+	    $cc .= " -mbig-endian ";
+	    $ld .= " -EB ";
Don't we end up with two "-EB"s for the big endian case?

Or do I understand perl even less than I thought I did?
+    } else {
+	    $cc .= " -mlittle-endian ";
+	    $ld .= " -EL ";
+    }
 
 } elsif ($arch eq "arm") {
     $alignment = 2;
cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help