This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
ada/8837: (was 8814) GCC 3.2.1 generates wrong code when compiling linux kernel for Intel StrongARM SA1110 Assabet Development board.
- From: suzhe at turbolinux dot com dot cn
- To: gcc-gnats at gcc dot gnu dot org
- Date: 6 Dec 2002 01:17:04 -0000
- Subject: ada/8837: (was 8814) GCC 3.2.1 generates wrong code when compiling linux kernel for Intel StrongARM SA1110 Assabet Development board.
- Reply-to: suzhe at turbolinux dot com dot cn
>Number: 8837
>Category: ada
>Synopsis: (was 8814) GCC 3.2.1 generates wrong code when compiling linux kernel for Intel StrongARM SA1110 Assabet Development board.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Dec 05 17:26:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: suzhe@turbolinux.com.cn
>Release: 3.2.1
>Organization:
>Environment:
Host Linux with gcc 3.2 and 2.95.3 (tried both). target is an Intel StrongARM SA1110 Assabet Development board. the version of binutils is 2.13.1.
>Description:
You may download the objdump result of two kernel binary at:
http://www.gnuchina.org/~suzhe/vmlinux-asm.tar.bz2
gcc 2.95.2 version is OK. But gcc 3.2.1 version cannot boot.
kernel compiled with gcc 3.2.1 freezed at the first syscall (clone) when execute init kernel thread. I traced into the kernel and found that the syscall (clone) in kernel_thread function has no effect. I knew little about ARM asm language, so I cannot point out which code section is wrong. But I guess we can focus on kernel_thread and vector_swi functions.
http://www.gnuchina.org/~suzhe/vmlinux-asm.tar.bz2
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: