This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: Interrupts for Arm-elf-gcc


Hi Shaun,

Sorry for not mailing you but I have being tied up a bit for the last couple
of days. You were right with the need for the .global directive in my .s file
but I also needed to define the symbol as being an extern in my C file.

Thanks for all the help,
Dave

>Yeah, I'll show you how to troubleshoot it too. Try running
>	$ arm-elf-as start.s
>	$ arm-elf-nm start.o
>This will give you a list of symbols in start.o. You should see
>something like
>	00000000 t IRQVector
>This says start.o provides the symbol IRQVector.
>Then try
>	$ arm-elf-gcc -c main.c
>	$ arm-elf-nm main.o
>	00000000 T IRQHandler
>	         U IRQVector
>This says main.o provides IRQHandler and needs IRQVector. I think you'll
>probably find IRQVector isn't defined in start.o. Assembler symbols
>default to the equivalent of a C static symbol. To force it extern you
>need to add
>	.global IRQVector
>to start.s. Try
>	$ info as
>	s .global
>
>Cheers,
>Shaun
>
>
>On Fri, 2003-07-25 at 09:56, David Mc Kenna wrote:
>> Hi Shaun,
>> 
>> Thanks for the reply.
>> 
>> Most of what you suggested worked except the declaration:
>>         IRQVector = IRQHandler;
>> 
>> I am getting an undefined variable for IRQVector.
>> 
>> Any ideas?
>> 
>> Thanks,
>> Dave
>
>
>
--
http://www.iol.ie

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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