- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- Updated linker configuration files
The linker handling of the ROM mirror area has been improved in version 4.10 so that linker map files now show the correct memory usage. A consequence is that the ready-made linker configuration files (.icf) have been updated in that the blocks MIRROR_ROM and MIRROR_RAM are no longer needed. There has also been changes related to multi-thread support in the C/C++ library. Custom project-specific linker configuration files should be updated accordingly by comparing with the standard linker configuration files located in folder rl78\config.
- From version 3.10 and onwards there is a new mechanism to detect incompatible linker
configuration files
The linker will now 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.
- 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
None
Program Corrections
None
User guide corrections
- None
Miscellaneous
- Nothing
Release history
4.10.1 2018-12-18
Program corrections
-
[EWRL78-690] Zero initialization will always be performed using huge pointers regardless of the addresses of the zero-initialized data.
-
[EWRL78-665, TPB-2735, EW26451] In some cases involving multiple possible ranges (typically several "small" ranges and at least one "large" range), where the total memory in the "small" ranges would be large enough for placement to succeed without using any of the memory in the "large" range, the link can terminate with an error when the linker incorrectly fails to place a block or section that is large compared with the "small" ranges.
-
[EWRL78-658] If you try to add your own custom sections to the ROM mirror area and the data has alignment 2 or higher, the placement address can be off by one.
-
[EWRL78-527] Constants defined with the __near memory attribute are listed as read-write memory in the linker map file module summary.
New features
- ILINK now generates an error if two or more interrupt functions use the same interrupt vector.
3.10.1 2017-09-15
Program corrections
-
[EWRL78-634] Two different interrupt functions that uses the same vector can cause an internal error.
See also EWRL78-538 -
[EWRL78-632] Absolute placement of initialized constants in the near data area (0xF0000-0xFFFFF) will generate an error. If you use this area for data flash, you should change this error to a warning.
-
[EWRL78-566] The linker does not issue a warning if more than one interrupt function uses the same interrupt vector.
-
[EWRL78-558] The size check of the mirror area is ignored if the size is set to zero.
-
[EWRL78-532] The linker can terminate with an internal error if initializers for absolute sections are placed in a block or placed using a place at directive.
-
[EWRL78-243, EW25758] Memory areas reserved for debugging, like for example the OCD_ROM_AREA, are included as read-write memory in the linker map file module summary.
-
[EWRL78-230, EW25957] The linker can terminate with an internal error after reporting the error when no section pattern can be found in the linker config file to place a particular section.
2.21.1 2016-05-31
Program corrections
-
[EW25901] The linker optimization to merge duplicate sections (--merge_duplicate_sections) might in some cases incorrectly merge non-equivalent sections for tool sets targeting Renesas processors.
2.20.1 2015-12-17
2.10.4 2015-11-05
2.10.3 2015-08-31
Program corrections
-
[EW25570] The pre-built runtime libraries that support far runtime library calls are missing and are also not recognized automatically by the linker.
2.10.1 2015-06-01
-
Initial release.