- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
-
New sections in the linker configuration files
From version 4.10 and onwards, the sections .nmivec and .option_rom have changed names into .exceptvect and .option_mem respectively. In addition there is also a new section .resetvect required for the reset vector.
Example:
place at address mem:0xFE7F5D00 { ro section .option_mem };
The .exceptvect change mainly applies to RXv1 as RxV2 core devices already have this section and the .option_mem change applies to RxV2 core devices that previously used the .option_rom section.
place at address mem:0xFFFFFF80 { ro section .exceptvect };
place at address mem:0xFFFFFFFC { ro section .resetvect };
- Mechanism to detect incompatible linker
configuration files
The linker will generate an error if the exported symbol __link_file_version_N is missing in the linker configuration file (.icf). This, to check compatibility with the current version of the linker. If needed (for very specific use cases), this error can be suppressed using the command line option --diag_suppress.
- Updated system startup code
With version 4.10, the system startup code in the rx\src\lib\rx\cstartup.s file has changed slightly. If your project is using a modified version of this file you should compare and update it accordingly.
- Read the migration guide Migrating from UBROF to ELF/DWARF if you are migrating from an IAR product using UBROF and IAR XLINK.
New features
- None
Known Problems
-
[EWRX-617, TPB-3148] In situations where two absolute placements overlap, the linker can terminate with an internal error.
-
[EWRX-436, EW25150] Variables at absolute addresses must either be declared __no_init, or be 4-byte aligned, both the start address and the total size. If not, an internal error is generated. This applies to blocks of consecutive variables as well.
Program Corrections
- None
User guide corrections
- None
Miscellaneous
- Nothing
Release history
4.13.1 2019-11-20
4.12.1 2019-06-18
4.11.1 2019-02-18
4.10.2 2018-11-28
4.10.1 2018-06-29
Program corrections
-
[EWRX-541] The symbol table in object files produced by the Renesas compiler contains indices that can be out of range. This can cause ILINK to crash with an internal error.
3.10.7 2018-01-30
3.10.6 2017-11-14
Program corrections
[EWRX-518] An internal linker debugging printout in the sign-on message is present also in the release version.
3.10.4 2017-08-31
3.10.3 2017-06-14
3.10.2 2017-05-15
3.10.1 2017-04-20
2.90.4 2016-10-26
Program corrections
[EW26256] The LZ77 and packbits data initialization algorithms do not work in ROPI and RWPI configurations
2.90.1 2016-06-08
Program corrections
[EW25943] The wrong version of the sqrtf function is selected by the linker.
[EW25806] Only the lz77 initializer packing algorithm is implemented even though additional algorithms are described in the documentation.
2.80.3 2015-10-19
2.80.1 2015-06-18
2.70.1 2015-02-23
Program corrections
[EW25035] An error is generated when linking Renesas libraries (.lib) built with the little-endian format.
2.60.3 2014-09-02
Program corrections
[EW24926] The linker is supposed to ensure that the start and end address of all zero-init memory areas are at least 4-byte aligned so that the zero-init routine can use word-writes. This fails so that changing the order of definitions for two variables in some cases causes different block length.
2.60.2 2014-06-23
Program corrections
[EW24648] Using a non-existing memory block with the check that directive causes an internal error.
[EW24631] Ilink can now handle ELF input files from Renesas tools that place local symbols in the wrong part of the symbol table.
2.60.1 2014-04-15
New features
- Support for Renesas library format
The IAR ILINK linker now accepts Renesas libraries (.lib) as input without having to manually convert the library format to the IAR standard library format (.a).
2.50.1 2013-12-03
2.42.2 2013-06-26
2.42.1 2013-04-19
2.41.1 2012-11-27
2.40.1 2012-06-01
Program corrections
[EW22749] The == and != operators in linker configuration files now produce correct results.
2.30.1 2011-06-28
New features
- Small function inlining
The new linker option --inline is a speed optimization option that enables inlining of small functions where it is suitable.
2.20.4 2011-04-08
Program corrections
[EW22349] In some cases involving placement of zero-init sections into "tight" ranges, the linker could fail to arrange for zeroing of these sections at program startup.
[EW22363] An "Out of memory" error could occur when performing fill over an ELF segment ending at 0xFFFFFFFF. This has been corrected.
[EW22261] An error was generated when trying to copy code from ROM to RAM by modifying the linker configuration file as specified in the Development Guide. This has been corrected.
2.20.1 2010-12-20
New features
- Linker improvements
A new option --search directory that searches for object files and libraries in a specified directory has been added.
Program corrections
[22035] When exporting to a motorola output file, the fixed vector was not included. This has been corrected in the IAR ELF Tool.