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

Re: Assembler instructions not being created correctly for mutiplication in GCC


MichaelMontcalm wrote:
> 
> 
> Andrew Haley wrote:
>> Why are you doing
>>     -e 0x0000 -T Cmpware.lnk
>> ?
>>
> 
> As I'm new to installing things this way (completely new to Linux in
> general) I was told by some coworkers to follow the instructions on the
> CMPWare website, as we were aiming to do some testing on the CMP-DK program.
> As I am just blindly following some steps because I don't understand them
> yet, I'll quote the CMPWare document.
> 
> "Now that a Sparc binary has been we have produced a successfully, it is
> time to return to the problem of getting an executable file rather than a
> linkable object file. The linker expects a crt0.o file to be present by
> default. But this can be changed and new instructions given to the linker. A
> linker directive file named Cmpware.lnk is shown in Appendix A. This file
> just places the main code in the default .text section at
> address zero, with other program data following. The linker command below
> links the object file into an executable ELF / DWARF file.
>  $ /usr/local/sparc-elf/bin/ld -g -e 0x0000 -T Cmpware.lnk -o Test.elf
> Test.o"
> 
> I've read it a few times and am still not too certain what it's doing. If
> this was meant simply for the sample code in the document, then I guess I
> don't need to use it. I think the Cmpware.lnk is just taking the code in the
> *.o file and moving it into a *.elf file and assuming it'll run. As you can
> tell from the very poor grammar in the first sentence of the quote, the
> documentation isn't exactly well written, so I'm having a slow time
> understanding exactly how this all works.

All this weirdness with linker scripts is usually only done when
targeting some kind of embedded system.  If you're linking a program
for a Linux system, I suggest you simply do

 gcc -o xy.elf xy.o

It might be that the Cmpware.lnk script contains the paths to gcc
libraries, and these paths are wrong.  But of course, that support
needs to come from Cmpware, Inc.

Andrew.


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