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