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

Reply via email to