ARM Technical Support Knowledge Articles

LINKER WARNINGS AFTER UPGRADING SOFTWARE

Applies to: C51 C Compiler

Answer


Information in this article applies to:


QUESTION

I have written my application in an early release of C51 Version 6 (prior to 6.12). When I re-compile and re-link my application with the current release I get several linker errors and warnings (Error 110, Warning 11, and Warning 13). These warnings are not generated when I translate my program with the older version. What is the cause of these warnings?

ANSWER

The most likely cause of the errors and warnings you receive is segment names that are longer than 32 characters.

In C51 Version 6.12, support was added for long segment and long variable names. Segment names are a combination of the function name and the file name and can quickly exceed the 32 character limit. In versions of C51 prior to 6.12, segment names were truncated at 32 or 40 characters. Version 6.12 and later truncates these names at 256 characters.

If you used linker directives (like code, xdata, overlay, and so on) that require segment names, and the segment names are specified using the older 32-character truncated name, the linker cannot match the specified segment name with the longer name. To correct this problem, check to be sure that segment names you specify in any linker directives match the new longer segment names.

Article last edited on: 2001-11-26 00:00:00

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