ARM Technical Support Knowledge Articles

ERROR L121 (IMPROPER FIXUP)

Applies to: BL51 Code-banking Linker/Locator

Answer


Information in this article applies to:


QUESTION

I have a situation where the linker generates the following error:

L121: IMPROPER FIXUP

This occurs when I use ROM(COMPACT) and when I have a label for a goto in my C program that follows a do-while loop. For example:

void x(int a) {
        do {
                if (a) break;
                // Insert at least 0x80 bytes of code here.
        } while(1);
MYLABEL:
        return;

If MYLABEL: is included, the instruction shown for the break statement in the listing is AJMP MYLABEL and the L121 error is reported.

If MYLABEL: is omitted, the instruction shown is AJMP ?Cnnnn and the linker completes successfully.

What would cause this behavior?

ANSWER

This is a confirmed problem that has been resolved in C51 V6.10a. You may download the latest updates from the Keil Website.

MORE INFORMATION

Article last edited on: 2005-07-19 15:31:52

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential