------- Additional Comments From carlos at mind dot be  2005-04-19 09:49 -------
Subject: Re:  -many flag causes problems

On Tuesday 19 April 2005 01:34, amodra at bigpond dot net dot au wrote:
> ------- Additional Comments From amodra at bigpond dot net dot au 
> 2005-04-18 23:34 ------- Please supply a small testcase.  Preprocessed
> source and commands to reproduce the problem.
>
> -many shouldn't ever change which insns are emitted under control of other
> -m flags, just make available extra instructions, so this is really a gas
> bug.

anyway, the problem is fixed if I remove the -many flag from the compiler 
line, so that's why I sent the patch.

If you want to test this try the attached file (taken from the ecos source 
tree) and compile as following:

powerpc-eabi-gcc -v -c  -I/home/carlos/Builds/ecos_ml300-0.1/install/include 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/tests 
-I. 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src/ 
-finline-limit=7000 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/ml300/current/include/xilinx
 
-DML300 -msoft-float -mcpu=405 -Wall -Wpointer-arith -Wstrict-prototypes 
-Winline -Wundef  -g -O2 -ffunction-sections -fdata-sections  -fno-exceptions   
-Wp,-MD,src/hal_intr.tmp -o 
src/hal_powerpc_arch_hal_intr.o 
/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src/hal_intr.c

which produces the following results:

/mind/toolchain_powerpc-eabi_gcc-3.4.3_binutils-2.14_newlib-1.13/libexec/gcc/powerpc-eabi/3.4.3/cc1
 
-quiet -v -I/home/carlos/Builds/ecos_ml300-0.1/install/include 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/tests 
-I. 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src/ 
-I/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/ml300/current/include/xilinx
 
-DML300 -MD 
src/hal_intr.tmp 
/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src/hal_intr.c
 
-quiet -dumpbase hal_intr.c -msoft-float -mcpu=405 -auxbase-strip 
src/hal_powerpc_arch_hal_intr.o -g -O2 -Wall -Wpointer-arith 
-Wstrict-prototypes -Winline -Wundef -version -finline-limit=7000 
-ffunction-sections -fdata-sections -fno-exceptions -o /tmp/ccDl04KQ.s
ignoring nonexistent directory 
"/mind/toolchain_powerpc-eabi_gcc-3.4.3_binutils-2.14_newlib-1.13/lib/gcc/powerpc-eabi/3.4.3/../../../../powerpc-eabi/sys-include"
ignoring nonexistent directory 
"/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/tests"
ignoring duplicate directory 
"/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src/"
#include "..." search starts here:
#include <...> search starts here:
 /home/carlos/Builds/ecos_ml300-0.1/install/include
 /home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current
 /home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/arch/current/src
 .
 
/home/carlos/Devel/ecos--ml300--0.1/packages/hal/powerpc/ml300/current/include/xilinx
 
/mind/toolchain_powerpc-eabi_gcc-3.4.3_binutils-2.14_newlib-1.13/lib/gcc/powerpc-eabi/3.4.3/include
 
/mind/toolchain_powerpc-eabi_gcc-3.4.3_binutils-2.14_newlib-1.13/lib/gcc/powerpc-eabi/3.4.3/../../../../powerpc-eabi/include
End of search list.
GNU C version 3.4.3 (powerpc-eabi)
        compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
GGC heuristics: --param ggc-min-expand=42 --param ggc-min-heapsize=24026
 
/mind/toolchain_powerpc-eabi_gcc-3.4.3_binutils-2.14_newlib-1.13/lib/gcc/powerpc-eabi/3.4.3/../../../../powerpc-eabi/bin/as
 
--traditional-format -m405 -many -V -Qy -o 
src/hal_powerpc_arch_hal_intr.o /tmp/ccDl04KQ.s
GNU assembler version 2.14 (powerpc-eabi) using BFD version 2.14 20030612
/tmp/ccDl04KQ.s: Assembler messages:
/tmp/ccDl04KQ.s:72: Error: Unrecognized opcode: `mfdec'
/tmp/ccDl04KQ.s:78: Error: Unrecognized opcode: `mfdec'

as you may seem, it invokes as with the -many flag, which is no required for 
405 or 403 (they are specialized ppc procesors). So when it comes to mfdec it 
complains because it is not a standard ppc instruction.


------- Additional Comments From carlos at mind dot be  2005-04-19 09:49 -------
Created an attachment (id=8682)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8682&action=view)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21091

Reply via email to