This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ada/8837: (was 8814) GCC 3.2.1 generates wrong code when compiling linux kernel for Intel StrongARM SA1110 Assabet Development board.


>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:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]