linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* MIPS: Alchemy build broken in latest linus-git
@ 2009-09-24  6:44 Manuel Lauss
  2009-09-24  7:49 ` Dmitri Vorobiev
  2009-09-24  9:15 ` Sam Ravnborg
  0 siblings, 2 replies; 9+ messages in thread
From: Manuel Lauss @ 2009-09-24  6:44 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Linux-MIPS

Hi Sam!

Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 breaks
Alchemy build in vmlinux.lds:


mipsel-softfloat-linux-gnu-gcc -E
-Wp,-MD,arch/mips/kernel/.vmlinux.lds.d  -nostdinc -isystem
/usr/lib/gcc/mipsel-softfloat-linux-gnu/4.3.4/include -Iinclude
-Iinclude2 -I/mnt/work/au1200/kernel/linux-2.6.git/include
-I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include -include
include/linux/autoconf.h -D__KERNEL__
-D"VMLINUX_LOAD_ADDRESS=0xffffffff80100000" -D"DATAOFFSET=0" -P -C
-Umips -D__ASSEMBLY__ -DLINKER_SCRIPT -o arch/mips/kernel/vmlinux.lds
/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/kernel/vmlinux.lds.S
In file included from
/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/kernel/vmlinux.lds.S:2:
/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include/asm/page.h:12:20:
error: spaces.h: No such file or directory
make[2]: *** [arch/mips/kernel/vmlinux.lds] Error 1
make[1]: *** [arch/mips/kernel] Error 2
make: *** [sub-make] Error 2

I tracked it to this part in the commit:
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index c825b14..77f5021 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
[...]
-#
-# Choosing incompatible machines durings configuration will result in
-# error messages during linking.  Select a default linkscript if
-# none has been choosen above.
-#
-
-CPPFLAGS_vmlinux.lds := \
-       $(KBUILD_CFLAGS) \
-       -D"LOADADDR=$(load-y)" \
-       -D"JIFFIES=$(JIFFIES)" \
-       -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)"
-


This eliminates the a whole lot of include directives, among which is
"-Iarch/mips/include/asm/mach-generic" which provides a path to the
now-missing "spaces.h".

Is there a cheap way to add this back again?

For reference, here's the full compiler command for the previously-working
case:

mipsel-softfloat-linux-gnu-gcc -E
-Wp,-MD,arch/mips/kernel/.vmlinux.lds.d  -nostdinc -isystem
/usr/lib/gcc/mipsel-softfloat-linux-gnu/4.3.4/include -Iinclude
-Iinclude2 -I/mnt/work/au1200/kernel/linux-2.6.git/include
-I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include -include
include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -O2 -ffunction-sections
-mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe
-msoft-float -ffreestanding -march=mips32 -Wa,-mips32 -Wa,--trap
-I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include/asm/mach-db1x00
  -I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include/asm/mach-au1x00
  -I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include/asm/mach-generic
-D"VMLINUX_LOAD_ADDRESS=0xffffffff80100000"
-D"LOADADDR=0xffffffff80100000" -D"JIFFIES=jiffies_64"
-D"DATAOFFSET=0" -P -C -Umips -D__ASSEMBLY__ -o
arch/mips/kernel/vmlinux.lds
/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/kernel/vmlinux.lds.S

Btw, I've been using bash-4 on my hosts since Gentoo added it to
their repos a few months ago, and I haven't noticed any breakages
so far.

Thanks!
        Manuel Lauss

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git
  2009-09-24  6:44 MIPS: Alchemy build broken in latest linus-git Manuel Lauss
@ 2009-09-24  7:49 ` Dmitri Vorobiev
  2009-09-24  9:15 ` Sam Ravnborg
  1 sibling, 0 replies; 9+ messages in thread
From: Dmitri Vorobiev @ 2009-09-24  7:49 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: Sam Ravnborg, Linux-MIPS

On Thu, Sep 24, 2009 at 9:44 AM, Manuel Lauss
<manuel.lauss@googlemail.com> wrote:
> Hi Sam!
>

[skipped]

> error: spaces.h: No such file or directory

The same problem for the SGI IP22.

Thanks,
Dmitri

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git
  2009-09-24  6:44 MIPS: Alchemy build broken in latest linus-git Manuel Lauss
  2009-09-24  7:49 ` Dmitri Vorobiev
@ 2009-09-24  9:15 ` Sam Ravnborg
  2009-09-24  9:24   ` Manuel Lauss
  1 sibling, 1 reply; 9+ messages in thread
From: Sam Ravnborg @ 2009-09-24  9:15 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: Linux-MIPS

On Thu, Sep 24, 2009 at 08:44:34AM +0200, Manuel Lauss wrote:
> Hi Sam!
> 
> Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 breaks
> Alchemy build in vmlinux.lds:
> 
> 
> mipsel-softfloat-linux-gnu-gcc -E
> -Wp,-MD,arch/mips/kernel/.vmlinux.lds.d  -nostdinc -isystem
> /usr/lib/gcc/mipsel-softfloat-linux-gnu/4.3.4/include -Iinclude
> -Iinclude2 -I/mnt/work/au1200/kernel/linux-2.6.git/include
> -I/mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include -include
> include/linux/autoconf.h -D__KERNEL__
> -D"VMLINUX_LOAD_ADDRESS=0xffffffff80100000" -D"DATAOFFSET=0" -P -C
> -Umips -D__ASSEMBLY__ -DLINKER_SCRIPT -o arch/mips/kernel/vmlinux.lds
> /mnt/work/au1200/kernel/linux-2.6.git/arch/mips/kernel/vmlinux.lds.S
> In file included from
> /mnt/work/au1200/kernel/linux-2.6.git/arch/mips/kernel/vmlinux.lds.S:2:
> /mnt/work/au1200/kernel/linux-2.6.git/arch/mips/include/asm/page.h:12:20:
> error: spaces.h: No such file or directory
> make[2]: *** [arch/mips/kernel/vmlinux.lds] Error 1
> make[1]: *** [arch/mips/kernel] Error 2
> make: *** [sub-make] Error 2
> 
> I tracked it to this part in the commit:
> diff --git a/arch/mips/Makefile b/arch/mips/Makefile
> index c825b14..77f5021 100644
> --- a/arch/mips/Makefile
> +++ b/arch/mips/Makefile
> [...]
> -#
> -# Choosing incompatible machines durings configuration will result in
> -# error messages during linking.  Select a default linkscript if
> -# none has been choosen above.
> -#
> -
> -CPPFLAGS_vmlinux.lds := \
> -       $(KBUILD_CFLAGS) \
> -       -D"LOADADDR=$(load-y)" \
> -       -D"JIFFIES=$(JIFFIES)" \
> -       -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)"
> -

I'm away from my machine atm.
Could you try to add the following to arch/mips/kernel/makefile:

CPPFFLAGS_vmlinux.lds += $(KBUILD_CFLAGS)

This should fix it.

	Sam

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git
  2009-09-24  9:15 ` Sam Ravnborg
@ 2009-09-24  9:24   ` Manuel Lauss
  2009-09-24  9:41     ` Manuel Lauss
  0 siblings, 1 reply; 9+ messages in thread
From: Manuel Lauss @ 2009-09-24  9:24 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Linux-MIPS

> I'm away from my machine atm.
> Could you try to add the following to arch/mips/kernel/makefile:
>
> CPPFFLAGS_vmlinux.lds += $(KBUILD_CFLAGS)
>
> This should fix it.

Thank you, that did it.

        Manuel Lauss

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git
  2009-09-24  9:24   ` Manuel Lauss
@ 2009-09-24  9:41     ` Manuel Lauss
  2009-09-24 12:09       ` MIPS: Alchemy build broken in latest linus-git [with patch] Manuel Lauss
  0 siblings, 1 reply; 9+ messages in thread
From: Manuel Lauss @ 2009-09-24  9:41 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Linux-MIPS

On Thu, Sep 24, 2009 at 11:24 AM, Manuel Lauss
<manuel.lauss@googlemail.com> wrote:
>> I'm away from my machine atm.
>> Could you try to add the following to arch/mips/kernel/makefile:
>>
>> CPPFFLAGS_vmlinux.lds += $(KBUILD_CFLAGS)
>>
>> This should fix it.
>
> Thank you, that did it.

Spoke too soon:

This leaves unprocessed directives in vmlinux.lds:

[...]
OUTPUT_ARCH(mips)
ENTRY(kernel_entry)
PHDRS {
 text PT_LOAD FLAGS(7); /* RWX */
 note PT_NOTE FLAGS(4); /* R__ */
}
ifdef 1
 ifdef 1
  jiffies = jiffies_64;
 else
  jiffies = jiffies_64 + 4;
 endif
else
 jiffies = jiffies_64;
endif
SECTIONS
{
 . = 0xffffffff80100000;
 /* read-only */
 _text = .; /* Text and read-only data */
[...]


        Manuel Lauss

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git [with patch]
  2009-09-24  9:41     ` Manuel Lauss
@ 2009-09-24 12:09       ` Manuel Lauss
  2009-09-24 12:23         ` Dmitri Vorobiev
  2009-09-24 19:43         ` Sam Ravnborg
  0 siblings, 2 replies; 9+ messages in thread
From: Manuel Lauss @ 2009-09-24 12:09 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: Sam Ravnborg, Linux-MIPS, Dmitri Vorobiev

Manuel Lauss wrote:
> On Thu, Sep 24, 2009 at 11:24 AM, Manuel Lauss
> <manuel.lauss@googlemail.com> wrote:
>>> I'm away from my machine atm.
>>> Could you try to add the following to arch/mips/kernel/makefile:
>>>
>>> CPPFFLAGS_vmlinux.lds += $(KBUILD_CFLAGS)
>>>
>>> This should fix it.
>> Thank you, that did it.
> 
> Spoke too soon:
> 
> This leaves unprocessed directives in vmlinux.lds:
> 
> [...]
> OUTPUT_ARCH(mips)
> ENTRY(kernel_entry)
> PHDRS {
>  text PT_LOAD FLAGS(7); /* RWX */
>  note PT_NOTE FLAGS(4); /* R__ */
> }
> ifdef 1
>  ifdef 1
>   jiffies = jiffies_64;
>  else
>   jiffies = jiffies_64 + 4;
>  endif
> else
>  jiffies = jiffies_6

... which is of course easily fixed after consumption of
unhealthy amounts of coffee.

Patch below works for me.

Thank you Sam!
	Manuel Lauss

---

From: Manuel Lauss <manuel.lauss@gmail.com>
Subject: [PATCH] MIPS: fix build of vmlinux.lds

Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 removed a few
CPPFLAGS with vital include paths necessary to build vmlinux.lds
on MIPS, and moved the calculation of the 'jiffies' symbol
directly to vmlinux.lds.S but forgot to change make ifdef/... to
cpp macros.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
---
 arch/mips/kernel/Makefile      |    2 ++
 arch/mips/kernel/vmlinux.lds.S |   12 ++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index e961221..8e26e9c 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -91,3 +91,5 @@ CFLAGS_cpu-bugs64.o	= $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/n
 obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT)	+= 8250-platform.o

 EXTRA_CFLAGS += -Werror
+
+CPPFLAGS_vmlinux.lds		:= $(KBUILD_CFLAGS)
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 9bf0e3d..162b299 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -11,15 +11,15 @@ PHDRS {
 	note PT_NOTE FLAGS(4);	/* R__ */
 }

-ifdef CONFIG_32BIT
-	ifdef CONFIG_CPU_LITTLE_ENDIAN
+#ifdef CONFIG_32BIT
+	#ifdef CONFIG_CPU_LITTLE_ENDIAN
 		jiffies  = jiffies_64;
-	else
+	#else
 		jiffies  = jiffies_64 + 4;
-	endif
-else
+	#endif
+#else
 	jiffies  = jiffies_64;
-endif
+#endif

 SECTIONS
 {
--
1.6.5.rc1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git [with patch]
  2009-09-24 12:09       ` MIPS: Alchemy build broken in latest linus-git [with patch] Manuel Lauss
@ 2009-09-24 12:23         ` Dmitri Vorobiev
  2009-09-24 19:43         ` Sam Ravnborg
  1 sibling, 0 replies; 9+ messages in thread
From: Dmitri Vorobiev @ 2009-09-24 12:23 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: Sam Ravnborg, Linux-MIPS

On Thu, Sep 24, 2009 at 3:09 PM, Manuel Lauss
<manuel.lauss@googlemail.com> wrote:
> Manuel Lauss wrote:
>> On Thu, Sep 24, 2009 at 11:24 AM, Manuel Lauss
>> <manuel.lauss@googlemail.com> wrote:
>>>> I'm away from my machine atm.
>>>> Could you try to add the following to arch/mips/kernel/makefile:
>>>>
>>>> CPPFFLAGS_vmlinux.lds += $(KBUILD_CFLAGS)
>>>>
>>>> This should fix it.
>>> Thank you, that did it.
>>
>> Spoke too soon:
>>
>> This leaves unprocessed directives in vmlinux.lds:
>>
>> [...]
>> OUTPUT_ARCH(mips)
>> ENTRY(kernel_entry)
>> PHDRS {
>>  text PT_LOAD FLAGS(7); /* RWX */
>>  note PT_NOTE FLAGS(4); /* R__ */
>> }
>> ifdef 1
>>  ifdef 1
>>   jiffies = jiffies_64;
>>  else
>>   jiffies = jiffies_64 + 4;
>>  endif
>> else
>>  jiffies = jiffies_6
>
> ... which is of course easily fixed after consumption of
> unhealthy amounts of coffee.
>
> Patch below works for me.

For me too, and I am using a custom IP22 config.

Thanks!

Dmitri

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git [with patch]
  2009-09-24 12:09       ` MIPS: Alchemy build broken in latest linus-git [with patch] Manuel Lauss
  2009-09-24 12:23         ` Dmitri Vorobiev
@ 2009-09-24 19:43         ` Sam Ravnborg
  2009-09-25  8:48           ` Dmitri Vorobiev
  1 sibling, 1 reply; 9+ messages in thread
From: Sam Ravnborg @ 2009-09-24 19:43 UTC (permalink / raw)
  To: Manuel Lauss; +Cc: Linux-MIPS, Dmitri Vorobiev

> 
> From: Manuel Lauss <manuel.lauss@gmail.com>
> Subject: [PATCH] MIPS: fix build of vmlinux.lds
> 
> Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 removed a few
> CPPFLAGS with vital include paths necessary to build vmlinux.lds
> on MIPS, and moved the calculation of the 'jiffies' symbol
> directly to vmlinux.lds.S but forgot to change make ifdef/... to
> cpp macros.
> 
> Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

Thanks for providing a patch!

The assignment of CPPFLAGS was supposed to be
in arch/mips/kernel/MAkefile.

I fixed this up.
Please test this patch - I will await testing
feedback before I submit to Linus.

	Sam

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: MIPS: Alchemy build broken in latest linus-git [with patch]
  2009-09-24 19:43         ` Sam Ravnborg
@ 2009-09-25  8:48           ` Dmitri Vorobiev
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitri Vorobiev @ 2009-09-25  8:48 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Manuel Lauss, Linux-MIPS

On Thu, Sep 24, 2009 at 10:43 PM, Sam Ravnborg <sam@ravnborg.org> wrote:
>>
>> From: Manuel Lauss <manuel.lauss@gmail.com>
>> Subject: [PATCH] MIPS: fix build of vmlinux.lds
>>
>> Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 removed a few
>> CPPFLAGS with vital include paths necessary to build vmlinux.lds
>> on MIPS, and moved the calculation of the 'jiffies' symbol
>> directly to vmlinux.lds.S but forgot to change make ifdef/... to
>> cpp macros.
>>
>> Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
>
> Thanks for providing a patch!
>
> The assignment of CPPFLAGS was supposed to be
> in arch/mips/kernel/MAkefile.
>
> I fixed this up.
> Please test this patch - I will await testing
> feedback before I submit to Linus.
>
>        Sam
>
>
> From bfc4d46080e26f5806f0aa59e95fd5d284ca1fd4 Mon Sep 17 00:00:00 2001
> From: Manuel Lauss <manuel.lauss@gmail.com>
> Date: Thu, 24 Sep 2009 21:44:24 +0200
> Subject: [PATCH] mips: fix build of vmlinux.lds
>
> Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 ("arm, cris, mips,
> sparc, powerpc, um, xtensa: fix build with bash 4.0") removed a few
> CPPFLAGS with vital include paths necessary to build vmlinux.lds
> on MIPS, and moved the calculation of the 'jiffies' symbol
> directly to vmlinux.lds.S but forgot to change make ifdef/... to
> cpp macros.
>
> Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
> [sam: moved assignment of CPPFLAGS arch/mips/kernel/Makefile]
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Acked-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-09-25  8:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-24  6:44 MIPS: Alchemy build broken in latest linus-git Manuel Lauss
2009-09-24  7:49 ` Dmitri Vorobiev
2009-09-24  9:15 ` Sam Ravnborg
2009-09-24  9:24   ` Manuel Lauss
2009-09-24  9:41     ` Manuel Lauss
2009-09-24 12:09       ` MIPS: Alchemy build broken in latest linus-git [with patch] Manuel Lauss
2009-09-24 12:23         ` Dmitri Vorobiev
2009-09-24 19:43         ` Sam Ravnborg
2009-09-25  8:48           ` Dmitri Vorobiev

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).