This is the mail archive of the gcc-bugs@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]

other/7085: Wrong assembler cpu selection entries for PPC 4xx in spec file


>Number:         7085
>Category:       other
>Synopsis:       Wrong assembler cpu selection entries for PPC 4xx in spec file
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 20 04:56:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     d.mueller@elsoft.ch
>Release:        gcc-3.1
>Organization:
>Environment:
ix86-linux -> powerpc-linux cross compiler, powerpc-linux native compiler
>Description:
The "*asm_cpu" clause of the spec file defines wrong assembler cpu seletion options for (at least) PPC403 and PPC405 (-mppc instead of -m403 / -m405). This results in an error message from the assembler while compiling files containing PPC4xx specific opcodes. 
>How-To-Repeat:
$> powerpc-linux-gcc -v -mcpu=405 -c ct.S
Reading specs from /usr/local/lib/gcc-lib/powerpc-linux/3.1/specs
Configured with: ../gcc-3.1/configure -v --target=powerpc-linux --prefix=/usr/local --enable-shared --disable-static --enable-languages=c,c++ --with-cpu=405 --enable-threads --with-gnu-as --with-as=/usr/local/bin/powerpc-linux-as --with-gnu-ld --with-ld=/usr/local/bin/powerpc-linux-ld
Thread model: posix
gcc version 3.1
 /usr/local/lib/gcc-lib/powerpc-linux/3.1/cpp0 -lang-asm -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -DPPC -D__ELF__ -Dpowerpc -D__PPC__ -D__ELF__ -D__powerpc__ -D__PPC -D__powerpc -Acpu=powerpc -Amachine=powerpc -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_CALL_SYSV -D_SOFT_FLOAT -D_BIG_ENDIAN -D__BIG_ENDIAN__ -Amachine=bigendian -D_ARCH_PPC -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=unix -Asystem=posix ct.S -o /tmp/ccUbGAkx.s
GNU CPP version 3.1 (cpplib) (PowerPC GNU/Linux)
ignoring nonexistent directory "/usr/local/powerpc-linux/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/powerpc-linux/3.1/include
 /usr/local/powerpc-linux/include
End of search list.
 /usr/local/bin/powerpc-linux-as -mppc -V -Qy -o ct.o /tmp/ccUbGAkx.s
GNU assembler version 2.12.1 (powerpc-linux) using BFD version 2.12.1
ct.S: Assembler messages:
ct.S:1: Error: Unrecognized opcode: `mttcr'
ct.S:2: Error: Unrecognized opcode: `mtdbsr'
ct.S:3: Error: Unrecognized opcode: `mtexisr'
ct.S:4: Error: Unrecognized opcode: `mtiocr'
ct.S:5: Error: Unrecognized opcode: `iccci'
ct.S:6: Error: Unrecognized opcode: `dccci'
ct.S:7: Error: Unrecognized opcode: `mticcr'
ct.S:8: Error: Unrecognized opcode: `mtdccr'

$> powerpc-linux-gcc -v -mcpu=405 -c -Wa,-m405 ct.S
Reading specs from /usr/local/lib/gcc-lib/powerpc-linux/3.1/specs
Configured with: ../gcc-3.1/configure -v --target=powerpc-linux --prefix=/usr/local --enable-shared --disable-static --enable-languages=c,c++ --with-cpu=405 --enable-threads --with-gnu-as --with-as=/usr/local/bin/powerpc-linux-as --with-gnu-ld --with-ld=/usr/local/bin/powerpc-linux-ld
Thread model: posix
gcc version 3.1
 /usr/local/lib/gcc-lib/powerpc-linux/3.1/cpp0 -lang-asm -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -DPPC -D__ELF__ -Dpowerpc -D__PPC__ -D__ELF__ -D__powerpc__ -D__PPC -D__powerpc -Acpu=powerpc -Amachine=powerpc -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_CALL_SYSV -D_SOFT_FLOAT -D_BIG_ENDIAN -D__BIG_ENDIAN__ -Amachine=bigendian -D_ARCH_PPC -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=unix -Asystem=posix ct.S -o /tmp/cctywKsd.s
GNU CPP version 3.1 (cpplib) (PowerPC GNU/Linux)
ignoring nonexistent directory "/usr/local/powerpc-linux/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/powerpc-linux/3.1/include
 /usr/local/powerpc-linux/include
End of search list.
 /usr/local/bin/powerpc-linux-as -mppc -V -Qy -m405 -o ct.o /tmp/cctywKsd.s
GNU assembler version 2.12.1 (powerpc-linux) using BFD version 2.12.1
>Fix:
Temporary work around: Specify assembler cpu selection option directly using "-Wa" option of GCC.

Final fix: Adjust entries in the "*asm_cpu" clause of the spec file to correctly honor the user specify cpu type.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="ct.S"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ct.S"

CW10dGNyCTMNCgltdGRic3IJMw0KCW10ZXhpc3IgMw0KCW10aW9jcgkzDQoJaWNjY2kJNCwzDQoJ
ZGNjY2kJNCwzDQoJbXRpY2NyCTMNCgltdGRjY3IJMw0KCQ0KCQ0KDQoNCg==


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