hi, thanks for identifying the error. i have gone through the a.out file after this error. that is producing full of arm instructions other than the main function(which is compiled for -mthumb). where should i change for this corresponding error. i have added one new add instruction in thumb mode. based on that i have written one sample program to emit the corresponding new instruction. gcc works fine. when i assemble the function it emits correct opcode. but when i give the same function to the ld it emits full of arm instructions instead of thumb instructions. which routine checks for this corresponding change. thanks in advance ----- Original Message ----- From: "Ian Lance Taylor" <ian@airs.com> To: "aram bharathi" <[EMAIL PROTECTED]> Subject: Re: adding new instruction Date: 12 Feb 2005 21:06:07 -0500
> > "aram bharathi" <[EMAIL PROTECTED]> writes: > > > i like to add a new instruction based on thumb ISA. i have > > added the instruction in both as and gcc. both of them are > > working correctly. but when i call ld it shows an error like > > > > /home/.../arm-elf-ld : > > /home/../arm-elf/lib/libc.a(printf.o)(printf): warning : > > interworking not enabled > > first occurance : /tmp/cc00zhyh.o : thumb call to arm > > /tmp//cc00zhyh.o(.text+0x4e>: In function 'main' > > new.c:internal error: dangerous error > > > > whether i have to change anything in the ld. i have searched for > > the ld source file but i counldnt get one in the ld folder. which > > file has to modified first and what kind of changes are needed. > > The source code for that error is in the bfd directory. In general, > if you want to link ARM and Thumb code together, you should compile > all your code with the -mthumb-interwork option. See the > documentation. > > Ian -- ______________________________________________ Check out the latest SMS services @ http://www.linuxmail.org This allows you to send and receive SMS through your mailbox. Powered by Outblaze