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] |
I'm developing for a powerpc target and am writing a interrupt handler in my c file with inline assembly. I'm placing the code in a section called "vect" which is put in a particular place memory. Sits alone at the end of my main C file: __asm__ (" .global _isr .section .vect _isr: [ISR handler] "); Lnk file: vect : org = 0xFFF00500, len = 255 For some reason when I disassemble either the C file's object or my main.elf file with the "-D" (disassemble-all) with objdump the section doesn't show up. And GDB doesn't place the instructions at that address either. I can however use: objdump --section=.vect -s main.elf It then shows that my handler is in section .vect at the correct address. Any idea why it doesn't show up with -D? If I write a C function defined as: extern void C_Isr(void) __attribute__((section(".vect"))); Then -D does disassemble section .vect and the code is placed in the correct location via GDB. Of course I also get the unwanted instructions that are associated with a C function prior to my isr code. Any thoughts are greatly appreciated, Dan ------ 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] |