
System LSI Division, Semiconductor Business
Property of Samsung Electronics Co., Ltd. 25
- [FIX] Copy functions used in init-table are not allocated in EXPLICIT area.
- [NEW] CMP_PD is not inserted after BREAK, BNZD, RETD, JSR, BS, SJSR,
return, POP_RET.
- [NEW] CMP_PD is inserted at same location for every build
- [NEW] 2 word CMP EQ and CMP GE optimized to their 1word form.
- [NEW] Only one set of (START, LOAD, SIZE) symbols generated for
duplicate sections.
- [NEW] Sorted list of internal symbols has been printed in the MAP file
- [NEW] Address functions StartOf(), EndOf(), MaxEndOf() can be used to
specify start address of a load/execution region in the MD file
- [NEW] Directive #copy_function = address [, size] has been supported to
specify start address of the copy functions used in the init table. Optional
size can be specified. Linker generates error if specified size does not
match with the calculated size of the copy functions.
- [FIX] Link-time-expression optimization updated to handle
ADD/MUL/AND/OR/XOR operations with more than two operands
- [NEW] Link-time expression optimization implemented.
- [FIX] Crash removed when trying to read AREA_num of previous exec
region.
- [FIX] Call graph algorithm modified for speed issue.
- [New] Size of a variable is printed in the MAP file
- [NEW] Command line option --max-stack-depth supported to print only
maximum stack depth with corresponding call chain in the CGF file
- [NEW] Memory area attribute EXPLICIT supported to avoid allocation of
unspecified functions in it.
- [NEW] Special directives FILL(size, [buf]) and FILL_EXACT(size, [buf])
supported to insert a fill of specified bytes at a location in a load region.
FILL_EXACT generates a warning when specified size is not same as length
of the buffer.
- [NEW] Stack/heap allocated after relax optimization
- [NEW] Duplicate function call chain not printed in the CGF file
- [NEW] Command line option --lib-as-source and MD file directive
#lib_as_source has been supported to allocate sections in lib files in a
normal way.
- [FIX] Restored old behavior of heap/stack allocation. Linker now allocates
stack of 0x200 bytes first and then heap of 0x500 bytes.
- [FIX] Error generated when PM or DM not specified in the MD file.
- [NEW] Warning generated calculated maximum stack depth is more than
the allocated stack size.
- [NEW] By default heap of 500 bytes is allocated and remaining RAM space
is used for stack.
- [NEW] New command line option --max-heap has been supported, to
allocate stack of 500 bytes and remaining RAM space is used for heap.
- [FIX] No load image generated for sections with NOINIT flag
- [NEW] KEEP(...) supported in the MD file to avoid garbage collection of
specified sections
- [NEW] SYMBOLS(...) in MD file and command line option --create-symbols
supported to generate C usable symbols.
- [NEW] Execution region attribute FIXED has been supported to generate
same load and execution address when non-zero +offset is used.
- [NEW] Option --no-zdata-init has been supported to keep ZDATA sections
un-initialized
- [NEW] ZDATA sections in EEP area are not initialized when they are
placed under NOINIT execution region attribute.
- [NEW] In the map file, scope of a symbol (GLOBAL / LOCAL) is printed
Kommentare zu diesen Handbüchern