Skip to contentSkip to conversation

Makefile: fix up CROSS_COMPILE and READABLE_ASM interaction.

PATCH In review Paul Mundt 2 participants 3 messages Jun 18, 2012 – Jun 19, 2012

Subsystems (2)
lore
Share & tools
lore

Paul Mundt

author
#0 lore raw

PATCH 1/1 Makefile: fix up CROSS_COMPILE and READABLE_ASM interaction.

(Apologies for the re-send, forgot to Cc linux-kernel)

When the READABLE_ASM cc-option tests were added they were done so prior to the arch Makefile include, resulting in cc-option being run on the host cc instead of the factoring in the cross prefix set up by the architecture.

This bumps the include back up so that cc-option actually runs on the compiler that we're building with.

---

 Makefile |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Makefile +2 -2
index d845c2a..f5d4f47 100644
@@ -561,6 +561,8 @@ else
 KBUILD_CFLAGS	+= -O2
 endif
 
+include $(srctree)/arch/$(SRCARCH)/Makefile
+
 ifdef CONFIG_READABLE_ASM
 # Disable optimizations that make assembler listings hard to read.
 # reorder blocks reorders the control in the function
@@ -571,8 +573,6 @@ KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
                  $(call cc-option,-fno-partial-inlining)
 endif
 
-include $(srctree)/arch/$(SRCARCH)/Makefile
-
 ifneq ($(CONFIG_FRAME_WARN),0)
 KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
 endif
#1 lore raw
Quoted 9 lines · Paul Mundt

(Apologies for the re-send, forgot to Cc linux-kernel)

When the READABLE_ASM cc-option tests were added they were done so prior to the arch Makefile include, resulting in cc-option being run on the host cc instead of the factoring in the cross prefix set up by the architecture.

This bumps the include back up so that cc-option actually runs on the compiler that we're building with.

I find it a real pity these reported, hard to investigate, and fixed build issues keep
flowing into mainline, without the corresponding fix...

https://lkml.org/lkml/2012/5/12/36

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds

author
#2 lore raw
Quoted 8 lines · Geert Uytterhoeven
Quoted 7 lines · Paul Mundt

(Apologies for the re-send, forgot to Cc linux-kernel)

When the READABLE_ASM cc-option tests were added they were done so prior to the arch Makefile include, resulting in cc-option being run on the host cc instead of the factoring in the cross prefix set up by the architecture.

Quoted 9 lines
Quoted 2 lines

This bumps the include back up so that cc-option actually runs on the compiler that we're building with.

I find it a real pity these reported, hard to investigate, and fixed build issues keep
flowing into mainline, without the corresponding fix...

https://lkml.org/lkml/2012/5/12/36

Agreed. These one-off things are always a nuisance, and often fall through the cracks. I've yet to find a good solution for them, although having them rolled in to -next helps.

In this case I got bit by -fno-partial-inlining instead, and since you didn't have READABLE_ASM in the subject I missed your patch entirely. In retrospect I should have searched for cc-option. At least we've now both scratched our heads and come up with an identical fix independently, which counts a lot more than a Tested-by ;-)