Hi Josef,
Wolf, Josef wrote:
I'm trying to upgrade from uClinux-dist-20051014 to
uClinux-dist-20070130.
For this, I had to change the toolchain to
http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/arm-linux-tools-200
61213.tar.gz
To get a clean build, I had to make some changes (I have the patch
I use that tool chain, and with uClinux-dist-20070130 I can
build GDB/ARMulator with no problems.
What target are you building for?
attached, can somebody apply it to CVS?). This is what the patch
does:
- replace deprecated -mshort-load-bytes by -malignment-traps
From patch:
diff -ruw uClinux-dist-20070130.orig/linux-2.4.x/arch/arm/Makefile
uClinux-dist-20070130/linux-2.4.x/arch/arm/Makefile
--- uClinux-dist-20070130.orig/linux-2.4.x/arch/arm/Makefile 2007-02-16
09:25:59.000000000 +0100
+++ uClinux-dist-20070130/linux-2.4.x/arch/arm/Makefile 2007-02-16
09:32:26.000000000 +0100
@@ -76,7 +76,7 @@
tune-$(CONFIG_CPU_XSCALE) :=-mtune=strongarm
endif
-load-y := $(call
check_gcc,-mshort-load-bytes,-malignment-traps)
+load-y := $(call check_gcc,-malignment-traps)
The purpose of the check as it was is to use either
-mshort-load-bytes (for older compilers) or -malignment-traps for
newer compilers.
So, for some reason it is not working for you. Can you check back
through the "check_gcc" shell script in this Makefile and try and
determine why this doesn't work right for you?
(Are you even using this in the arch/arm branch?
I assumed you probably where only compiling for non-MMU?)
diff -ruw uClinux-dist-20070130.orig/linux-2.4.x/arch/armnommu/Makefile
uClinux-dist-20070130/linux-2.4.x/arch/armnommu/Makefile
--- uClinux-dist-20070130.orig/linux-2.4.x/arch/armnommu/Makefile
2007-02-16 09:25:59.000000000 +0100
+++ uClinux-dist-20070130/linux-2.4.x/arch/armnommu/Makefile 2007-02-16
09:32:26.000000000 +0100
@@ -57,8 +57,8 @@
LDFLAGS += -EB
endif
-CFLAGS += $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
> -AFLAGS += $(apcs-y) $(proc-y) -msoft-float -mno-fpu
+CFLAGS += $(apcs-y) $(arch-y) $(tune-y) -malignment-traps -msoft-float
+AFLAGS += $(apcs-y) $(proc-y) -msoft-float
Uhh, this doesn't appear in this Makefile in 20070130.
Have you mixed up your diffs/patches somehow?
It looks like this in 20070130:
load-y := $(call check_gcc,-mshort-load-bytes,-malignment-traps)
CFLAGS += $(apcs-y) $(arch-y) $(tune-y) $(load-y) -msoft-float
AFLAGS += $(apcs-y) $(proc-y) -msoft-float
- remove -mno-fpu (not supported by new toolchain)
Again perhaps you have mixed up your patches/diffs?
The use of -mno-fpu has been removed for ARM targets from 20070130.
I certainly would suggest not removing it from other architecture
Makefile's unless you have made real sure that it is safe for those
(ie tested it). Did you try a sparc build with -mno-fpu?
Regards
Greg
- Fix broken macro in linux-2.4.x/arch/armnommu/kernel/armksyms.c
With those changes, I get a clean build and the kernel (2.4.32, BTW)
boots.
But immediately after the boot, I get:
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 44K
Unhandled fault: alignment exception (93) at 0x00000001
fault-common.c(97): start_code=0x40000380, start_stack=0xe92d43f0)
Internal error: Oops: 0
CPU: 0
pc : [<8101a07c>] lr : [<8173ba40>] Not tainted
sp : 8113bee8 ip : 8113bf14 fp : 8113bf10
r10: 811482e8 r9 : 60000013 r8 : 00000001
r7 : 8113d2cc r6 : 8173be7c r5 : 00000000 r4 : ef9f0000
r3 : 00e3a020 r2 : 00000000 r1 : 000000b1 r0 : 8173be78
Flags: nzCv IRQs off FIQs on Mode SVC_32 Segment user
Control: 0
Process swapper (pid: 0, stackpage=8113b000)
Stack:
8113bec0:
8173ba40 8101a07c
8113bee0: 20000093 ffffffff 81737a80 00000000 00000009 8113bf54
811466c4 8114dc40
8113bf00: 811465a4 8113bf20 8113bf14 8173ba40 8101a04c 8113bf30
8113bf24 8173b330
8113bf20: 8173b7c8 8113bfc4 8113bf34 81014fc0 8173b308 00000200
8113bf9c 00000200
8113bf40: 81019bd4 60000013 ffffffff 8114dc40 810143b0 81634000
8113a000 a0000013
8113bf60: 8100a1a0 8113a000 8113caa0 8119a000 8113d2cc 8113c000
8113c000 8114dc40
8113bf80: 8113bfc4 60000013 8113bf9c 81019bd4 81019bd4 60000013
ffffffff 810154a4
8113bfa0: 8113a000 811469a8 00000000 00000001 8113cb10 00000000
8113cb38 8113bfc8
8113bfc0: 8101557c 810199ec 8114f4ec 8116b9d4 00000000 81008560
8113cd70 00000000
8113bfe0: 8116f2a0 811469d8 00000000 8116f2a0 811469d4 814ddfb8
00000000 81514f08
Backtrace:
Function entered at [<8101a03c>] from [<8173ba40>]
Function entered at [<8173b7b8>] from [<8173b330>]
Function entered at [<8173b2f8>] from [<81014fc0>]
Function entered at [<810199dc>] from [<8101557c>]
Function entered at [<8111f858>] from [<00000000>]
Code: e59f7094 e59fa094 (e5141004) e5913000 e3130003
Kernel panic: Aiee, killing interrupt handler
In interrupt handler - not syncing
Any ideas what might be wrong here?
------------------------------------------------------------------------
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [EMAIL PROTECTED]
SnapGear -- a Secure Computing Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev