Keil™, An ARM® Company

Technical Support

ARMLINK: WARNING: L6306W: '~PRES8' SECTION SHOULD NOT USE 'REQ8'


Information in this article applies to:

  • RealView Linker Version 3

QUESTION

I have written an interrupt handler in assembly language using the RealView assembler. In this interrupt handler, I am calling another routine that is written in C. When I link my program, I receive the following warning:

Warning: L6306W: '~PRES8' section arm_isr.o(asm_irq) should not
                 use the address of 'REQ8' function (c_func).

What is wrong?

ANSWER

All C code generated by the RealView compiler assumes that stack allocation is aligned on 8-byte boundaries. You must ensure that the assembler interrupt handler has an 8-byte aligned stack by specifying the PRESERVE8 directive at the beginning of your assembly file. For example,

      PRESERVE8
.
.
      AREA irq_asm, CODE, READONLY

Last Reviewed: Friday, February 02, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure