This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

RE: [NOT-OT after all] RE: [OT] RE: Does make have ARM version?


On 20 March 2007 22:18, Wenbin Zhang wrote:

(Once more, Wenbin, please remember to keep the mailing list in the Cc line.
I'm not an expert on the different types of ARM cpu at all, and by keeping the
conversation public we will have the chance for others with more experience to
offer their suggestions, and we will leave a record of this problem and its
eventual solution in the mailing list archive where others with the same
problem might find it in the future and be helped.)

> Hi Dave,
> The log is as below(with -v opition):

  Right, here we see:

> Reading specs from
>
/home/wbzhang/crosscompile/ezx-crosstool-0.5/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.
3.2/arm-linux/lib/gcc-lib/arm-linux/3.3.6/specs
> Configured with: /home/wbzhang/crosscompile/ezx-
> crosstool-0.5/build/arm-linux/gcc-3.3.6-glibc-2.3.2/gcc-3.3.6/configure
> --target=arm-linux --host=i686-host_pc-linux-gnu
>
--prefix=/home/wbzhang/crosscompile/ezx-crosstool-0.5/gcc-arm-iwmmxt/gcc-3.3.6
-glibc-2.3.2/arm-linux
> --with-cpu=iwmmxt --enable-cxx-flags=-mcpu=iwmmxt 

... that the compiler is invoked using the '--with-cpu=iwmmxt' flag, which is
why it generates the wstrw instruction, and here:

>
/home/wbzhang/crosscompile/ezx-crosstool-0.5/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.
3.2/arm-linux/lib/gcc-lib/arm-linux/3.3.6/../../../../arm-linux/bin/as
> --traditional-format -mfpu=softvfp -mcpu=iwmmxt -mfpu=softvfp -o implicit.o
> /tmp/ccX0LGSa.s /tmp/ccX0LGSa.s: Assembler messages: /tmp/ccX0LGSa.s:2171:
> Error: immediate expression expected -- `wstrw wcgr0,[r2,r1,asl#2]' 

... we see that the compiler is correctly passing that option to the
assembler.  As it turns out, binutils-2.15 does have a bug here; it gives the
wrong error message, where binutils-2.17 gets it right:

/tmp/arm $ cat test.s

   .org 0
   wstrw wcgr0,[r2,r1,asl#2]

/tmp/arm $ arm-linux-as -v -mcpu=iwmmxt test.s
GNU assembler version 2.15 (arm-linux) using BFD version 2.15
test.s: Assembler messages:
test.s:3: Error: immediate expression expected -- `wstrw wcgr0,[r2,r1,asl#2]'

/tmp/arm $ /tmp/arm/obj/gas/as-new.exe -v -mcpu=iwmmxt test.s
GNU assembler version 2.17 (arm-linux) using BFD version 2.17
test.s: Assembler messages:
test.s:3: Error: co-processor offset out of range

... but of course you still have the problem that the compiler is generating
an invalid instruction.

> Anyway, I gonna upgrade the compiler and see what happen.

  That's almost certainly your best option.  Let us know how you get on.  (You
may want to upgrade your binutils as well).

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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