Discussion:
[uClinux-dev] m68k compile issue with 4.0.5
Geert Uytterhoeven
2015-06-16 06:24:41 UTC
Permalink
Hi Waldemar,
I am trying to build a M68K (Coldfire no-MMU) kernel for Qemu-system-m68k.
With 4.0.4 everything is fine. With 4.0.5 I get following compile
adk-uclinux-gcc -Wp,-MD,mm/.nommu.o.d -nostdinc -isystem
/home/wbx/m68k/toolchain_qemu-m68k_uclibc-ng_m68k_nommu/usr/lib/gcc/m68k-openadk-uclinux-uclibc/4.9.2/include
-I./arch/m68k/include -Iarch/m68k/include/generated/uapi
-Iarch/m68k/include/generated -Iinclude -I./arch/m68k/include/uapi
-Iarch/m68k/include/generated/uapi -I./include/uapi
-Iinclude/generated/uapi -include ./include/linux/kconfig.h
-D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-std=gnu89 -mcpu=5208 -pipe -DUTS_SYSNAME=\"uClinux\" -D__uClinux__
-fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized
--param=allow-store-data-races=0 -Wframe-larger-than=1024
-fno-stack-protector -Wno-unused-but-set-variable
-fomit-frame-pointer -fno-var-tracking-assignments
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -Werror=implicit-int -Werror=strict-prototypes
-Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(nommu)"
-D"KBUILD_MODNAME=KBUILD_STR(nommu)" -c -o mm/nommu.o mm/nommu.c
mm/nommu.c:861:3: error: implicit declaration of function 'vma_fput'
[-Werror=implicit-function-declaration]
vma_fput(vma);
^
cc1: some warnings being treated as errors
Any idea what change breaks the compile?
I tried a few m68knommu defconfigs, but can't reproduce it.

Is this a plain v4.0.5? I can't find the offending call to vma_fput().
"git grep vma_fput" tells me there's no "vma_fput" in the kernel sources?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ***@linux-m68k.org

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
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2015-06-16 07:02:47 UTC
Permalink
Hi Waldemar,
Post by Geert Uytterhoeven
Hi Waldemar,
I am trying to build a M68K (Coldfire no-MMU) kernel for Qemu-system-m68k.
With 4.0.4 everything is fine. With 4.0.5 I get following compile
adk-uclinux-gcc -Wp,-MD,mm/.nommu.o.d -nostdinc -isystem
/home/wbx/m68k/toolchain_qemu-m68k_uclibc-ng_m68k_nommu/usr/lib/gcc/m68k-openadk-uclinux-uclibc/4.9.2/include
-I./arch/m68k/include -Iarch/m68k/include/generated/uapi
-Iarch/m68k/include/generated -Iinclude -I./arch/m68k/include/uapi
-Iarch/m68k/include/generated/uapi -I./include/uapi
-Iinclude/generated/uapi -include ./include/linux/kconfig.h
-D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-std=gnu89 -mcpu=5208 -pipe -DUTS_SYSNAME=\"uClinux\" -D__uClinux__
-fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized
--param=allow-store-data-races=0 -Wframe-larger-than=1024
-fno-stack-protector -Wno-unused-but-set-variable
-fomit-frame-pointer -fno-var-tracking-assignments
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -Werror=implicit-int -Werror=strict-prototypes
-Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(nommu)"
-D"KBUILD_MODNAME=KBUILD_STR(nommu)" -c -o mm/nommu.o mm/nommu.c
mm/nommu.c:861:3: error: implicit declaration of function 'vma_fput'
[-Werror=implicit-function-declaration]
vma_fput(vma);
^
cc1: some warnings being treated as errors
Any idea what change breaks the compile?
I tried a few m68knommu defconfigs, but can't reproduce it.
Is this a plain v4.0.5? I can't find the offending call to vma_fput().
"git grep vma_fput" tells me there's no "vma_fput" in the kernel sources?
I don't have any compile (or runtime) problems with m5208evb_defconfig
on linux-4.0.5 either. That is close to what most people use with qemu.
What .config are you using?

Regards
Greg
Post by Geert Uytterhoeven
Gr{oetje,eeting}s,
Geert
--
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
_______________________________________________
uClinux-dev mailing list
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
http://mailman.uclinux.org/mailman/options/uclinux-dev
_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Waldemar Brodkorb
2015-06-17 05:42:38 UTC
Permalink
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
I don't have any compile (or runtime) problems with m5208evb_defconfig
on linux-4.0.5 either. That is close to what most people use with qemu.
What .config are you using?
Are you sure the defconfig creates a bootable image?

I still need at least two patches.

http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/qemu-coldfire.patch
Without this one I get black screen.

http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/m68k-coldfire-fec.patch
Without this one I get
qemu: hardware error: mcf_fec_read: Bad address 0x1c4
...
Abort

Networking still does not work for me after booting with the two
patches applied:
fec fec.0 (unnamed net_device) (uninitialized): MDIO read timeout
fec: probe of fec.0 failed with error -5

Any idea?

best regards
Waldemar

_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2015-06-17 06:06:32 UTC
Permalink
Hi Waldemar,
Post by Waldemar Brodkorb
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
I don't have any compile (or runtime) problems with m5208evb_defconfig
on linux-4.0.5 either. That is close to what most people use with qemu.
What .config are you using?
Are you sure the defconfig creates a bootable image?
Yes, on real M5208EVB hardware. That is what I ran it on.
I didn't run it under QEMU.
Post by Waldemar Brodkorb
I still need at least two patches.
http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/qemu-coldfire.patch
Without this one I get black screen.
Better to use the fixes to QEMU instead of working around
its problems in the linux kernel sources :-)

This thread has the QEMU fixes:

https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg03224.html

I have posted them a couple of times to the QEMU dev list, but
no-one seems to pick them up.
Post by Waldemar Brodkorb
http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/m68k-coldfire-fec.patch
Without this one I get
qemu: hardware error: mcf_fec_read: Bad address 0x1c4
...
Abort
Yes, you still need that. I haven't cleaned that up into a
state that I am totally happy with yet.
Post by Waldemar Brodkorb
Networking still does not work for me after booting with the two
fec fec.0 (unnamed net_device) (uninitialized): MDIO read timeout
fec: probe of fec.0 failed with error -5
Any idea?
Hmm, no, haven't seen that one. I'll try a run with qemu and see
if I can see what is going on.

Regards
Greg



_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Greg Ungerer
2015-06-18 14:13:13 UTC
Permalink
Hi Waldemar,
Post by Waldemar Brodkorb
Hi Greg,
Greg Ungerer wrote,
Post by Greg Ungerer
I don't have any compile (or runtime) problems with m5208evb_defconfig
on linux-4.0.5 either. That is close to what most people use with qemu.
What .config are you using?
Are you sure the defconfig creates a bootable image?
I still need at least two patches.
http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/qemu-coldfire.patch
Without this one I get black screen.
http://cgit.openadk.org/cgi/cgit/openadk.git/tree/target/m68k/qemu-m68k/patches/4.0.5/m68k-coldfire-fec.patch
Without this one I get
qemu: hardware error: mcf_fec_read: Bad address 0x1c4
...
Abort
Networking still does not work for me after booting with the two
fec fec.0 (unnamed net_device) (uninitialized): MDIO read timeout
fec: probe of fec.0 failed with error -5
Any idea?
The qemu fec driver does not emulate any type of attached phy
or properly support the mdio read/write register.

The attached patch to qemu implements really simple phy support.
Was enough for me to get linux probing and finding a phy.

Regards
Greg

Waldemar Brodkorb
2015-06-17 05:28:23 UTC
Permalink
Hi Geert,
Geert Uytterhoeven wrote,
Post by Geert Uytterhoeven
Hi Waldemar,
I am trying to build a M68K (Coldfire no-MMU) kernel for Qemu-system-m68k.
Any idea what change breaks the compile?
I tried a few m68knommu defconfigs, but can't reproduce it.
Is this a plain v4.0.5? I can't find the offending call to vma_fput().
"git grep vma_fput" tells me there's no "vma_fput" in the kernel sources?
You are totally right. It is not plain vanilla, I am really sorry
about this ugly bug report. I normally use an option to disable any
external kernel patches, before reporting. I missed it this time.

I have experimented with aufs4 kernel patches lately.

You are allowed to kick my ass ;)

best regards
Waldemar

_______________________________________________
uClinux-dev mailing list
uClinux-***@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-***@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Loading...