TASKING VX-toolset for TriCore v6.4r1
Release Note
Scope
This release note covers release v6.4r1 of the TASKING VX-toolset for TriCore.
It covers the changes between v6.3r1 and v6.4r1.
For release notes prior to v6.4r1, please visit the TASKING
TriCore and AURIX toolset support website
Contents
The product includes the following features:
- TASKING VX-toolset for TriCore is a 64-bit product. Only Windows 64-bit and Linux 64-bit hosts are supported.
- TASKING Eclipse plugins support all toolsets included in the product.
- The Eclipse/CDT distribution version 2025-03 is shipped with the product.
- The Eclipse/CDT distribution includes a plugin containing the JustJ Java Runtime Environment.
This JRE will be used during the execution of the TASKING Eclipse environment.
- The Eclipse/CDT distribution supports the Eclipse Martketplace, where you can install specific solutions, such as e.g. GitHub Copilot.
- TASKING winIDEA debugger
The following features are no longer supported:
- Embedded Pin Mapper. Use the standalone Pin Mapper for AURIX instead.
- The script debugger dbgtc. Note that you can still use the script debugger from v6.3r1 when needed.
- The TASKING debugger has been replaced by the TASKING winIDEA debugger.
- The Profiler view in Eclipse is no longer supported.
- TriCore1.3, TriCore1.3.1 and TriCore1.6 core architectures and the newer TriCore1.8 and their devices are not supported.
This product only supports TriCore1.6.x and TriCore1.6.2.
- The PCP toolset is no longer included.
All executable files in this release have the following build number: Build 26032569.
TASKING winIDEA Debugger
The product supports the winIDEA debugger. Hardware debugging and simulator support through the GDI interface is supported for TriCore and Arm/HSM. You can start winIDEA from the TASKING Eclipse environment.
- Note 1: You have to install the winIDEA debugger included in the product manually. From the Window->Preferences dialog, select TASKING winIDEA and click the Install button. This Install button changes into an Update button after installation is done. The Update button is enabled when a new version of the winIDEA debugger is available.
- Note 2: The winIDEA debugger is not supported under Linux.
C++ compiler improvements and optimizations
- The EDG C++ front-end has been updated to version v6.3.
- The C++ Library has been updated to LLVM release v14.0.6.
- The C++ compiler supports the ISO C++17 standard. The default year changed from 14 to 17.
- The following C++ compiler options are considered superfluous and are removed from the product:
--anachronisms
--auto-type
--base-assign-op-is-default
--c++11-sfinae
--c++11-sfinae-ignore-access
--compound-literals
--default-nocommon-tentative-definitions
--delegating-constructors
--deprecated-string-conv
--dollar
--exceptions
--friend-injection
--guiding-decls
--implicit-include
--incl-suffixes
--io-streams
--lambdas
--long-lifetime-temps
--multibyte-chars
--namespaces
--no-auto-storage
--no-auto-type
--no-bool
--no-c++11-sfinae
--no-c++11-sfinae-ignore-access
--no-class-name-injection
--no-const-string-literals
--no-dep-name
--no-distinct-template-signatures
--no-explicit
--no-extern-inline
--no-for-init-diff-warning
--no-namespaces
--no-nonconst-ref-anachronism
--no-nullptr
--no-rvalue-refs
--no-typename
--no-variadic-macros
--no-wchar_t-keyword
--nonconst-ref-anachronism
--nonstd-anonymous-unions
--nonstd-default-arg-deduction
--nonstd-instantiation-lookup
--nonstd-using-decl
--nullptr
--old-for-init
--old-line-commands
--old-specializations
--preserve-lvalues-with-same-type-casts
--rvalue-ctor-is-not-copy-ctor
--rvalue-refs
--uliterals
--unrestricted-unions
--user-defined-literals
--variadic-macros
--variadic-templates
- The following TriCore C++ compiler specific options are removed from the product:
C compiler improvements and optimizations
- The C compilers support the ISO/IEC 9899:2018 (C17) language standard. Option
--iso=17 is the default.
- The C compiler gives a warning if a global variable is removed due to optimizations. This warning is given when
new option
--warning-level is set to level 2.
- New C compiler optimization options:
b/B +/-ipro interprocedural register optimizations
j/J +/-adv-jump-thread advanced jump threading
x/X +/-clone function cloning
+/-global-fcall global FCALL optimization (TriCore only)
+/-merge-funcs merge identical functions
+/-unswitch simple loop unswitching
- When you enable the function cloning optimizaton you can specify a maximum size increment (in %) with option
--clone-max-incr.
- New TriCore C compiler loop optimization option
--loop flags:
l/L +/-flatten loop flattening optimization
r/R +/-idiomatic loop idiomatic replacement
- New option
-A/--language flag l/L +/-longlong to support long long types in ISO C90 mode.
- New option
-E/--preprocess flag t/T +/-token-separation to insert a space between adjacent tokens (when needed).
- New option
--undefined-macro to enable warnings about undefined macros.
- New TriCore C compiler option
--no-align-interrupt-stack to do not align the stack in the interrupt handler prologue.
- New TriCore C compiler option
--no-strict-aliasing to disable strict aliasing behavior.
- New TriCore C compiler option
--no-strict-overflow to disable strict overflow behavior.
- New TriCore C compiler option
--section-anchors to enable generation of section anchors.
With this option, variables defined in the current translation unit are accessed using offsets from a common anchor symbol in
situations where doing so is profitable for code size.
- New TriCore C compiler option
--vectorize-info to provide auto-vectorization diagnostics.
- New TriCore C compiler option
--vectorize-noalias to skip auto-vectorization alias checking.
- New TriCore C compiler option
--virtualization indicates presense of multiple VMs.
- New TriCore C compiler option
--vla-on-stack to allocate VLAs on the stack.
- The following TriCore C compiler specific options are removed from the product:
--loop=c/C +/-cache
--mmu-on
--mmu-present
--silicon-bug
--spram
--unroll-factor
Performance Improvements
TASKING TriCore v6.4r1 delivers measurable code quality gains over v6.3r1, with an average performance improvement
of approximately 8% across all benchmarks. These improvements are the result of continued investment in compiler
optimization technology, and more effective use of the target architecture's capabilities.
You can expect faster execution times and improved run-time efficiency for a broad range of embedded applications.
Long path name support to compiler executables
The Windows executables are longPathAware, to enable long paths on Windows (10 and 11) you need to set LongPathsEnabled to 1 in the registry.
This will allow you to open files with path names longer than 260 characters.
- Note that the
-G option for the make utilities is still limited to 260 characters.
EABI Deviations
The TriCore C and C++ compiler support the following new --eabi sub options that can be disabled for EABI compliance:
d/D +/-short-bitfield access short bit-field as a short
i/I +/-int-bitfield use word alignment for int bit-field
l/L +/-long-long-bitfield less alignment for long long bit-field
v/V +/-struct-arg-by-value pass large structure arguments via the stack instead of pointers
When these flags are enabled, the behavior is as before. When disabled, the behavior is EABI compliant.
For a full description of these options, please run the compiler to show the extended option description: ctc --help=options
Function inlining behavior
C compiler option --inline is now an alias for --inline=all. The option now accepts the following values:
all inline all functions without the '__noinline' qualifier
non-strict keyword 'inline' only increases the likeliness of inlining
strict keyword 'inline' forces inlining
GNU dependency file format
A new option --dep-format[amk|gnu] has been introduced to several tools. The default is: --dep-format=amk.
When you are using the GNU format of dependency files, please apply option: --dep-format=gnu.
TriCore C libraries with wide character support
The TriCore C libraries now by default also contain wide character support. The functions with wide character parameters can be used without the need to recompile the C libraries.
The floating-point run-time library has been replaced with a new one which fixes several floating-point problems. It now also
has support for exception FE_INEXACT. When using 32-bit floats the FP run-time library is only used when compiling with option
--fp-model=t "support trapping on exceptions" or option --fp-model=s "use software floating-point library".
When using 64-bit doubles the FP run-time library is always used, except when compiling with options --fp-model=fST (f enables "treat 'double' as 'float'").
Please be aware code size and speed may change for applications using this new FP-library.
EABI compliant PIC support
This release includes EABI compliant PIC support (--pic=A12).
The compiler generates Position Independent Code (PIC) and Position Independent Data (PID) conform to the Infineon EABI (Embedded Application Binary Interface).
Assembler module .END directive
To prevent that the C compiler may leave an empty .src file when it is killed, option --require-end has been made the default
behavior of the assembler and the option has been replaced by --no-require-end to get the behavior as before.
ELF strip utility
The TriCore toolset comes with a new utility, elfstrip.
The elfstrip utility reads ELF files, removes sections and section groups according to the provided command-line options,
and outputs the resulting ELF file.
If you want to reduce the object size and remove sensitive information from ELF object files, elfstrip provides an option
to remove note sections and strip debug and group sections from ELF object files produced by TASKING tools.
Linker improvements and optimizations
- New TriCore linker optimization option
-O+/-global-fcall for global FCALL optimization.
- New linker option
--binfill to specify an unsigned 32-bit fill pattern for binary output file (default: 0x00).
- New linker option
--duplicate-section-limit to not remove duplicate sections if more than a specified
number of sections would have to be compared (default: 10000).
- New linker option
--global-map-file to generate a global map file that includes information about each of the tasks.
- New linker option
--global-map-file-format to specify the global map file format.
- New linker option
--no-default-output to not generate task-related output files by default.
LSL support for a select by object file name
Apart from the existing functionality of assigning data or code sections by using the section name in an LSL group,
the TriCore linker supports making a selection by object or by archive filename in LSL.
Enhanced linker map file options
Linker options --map-file=TEXT and --global-map-file=TEXT can be extended with ":0".
This will disable the default wrapping of long lines or table cells. For example: --map-file=output.map:TEXT:0.
The same applies to linker option: --global-map-file.
For a full description of these map files options, please run the linker to show the extended option description: ltc --help=options
Additional checksum algorithms
By addressing issue TCVX-45409, the linker supports now also the following checksum algorithms for AURIX 2G derivatives:
- IEEE 802.3 CRC32 (input range processed per byte instead of a 4-byte word) ethernet polynomial: 0x04C11DB71
- AUTOSAR safety polynomial CRC32P4: 0xF4ACFB13
- CCITT CRC16 polynomial: 0x1021 - x16+x12+x5+1
- SAE J1850 CRC8 polynomial: 0x1D - x8+x4+x3+x2+1
Archiver option to replace the time stamp entry
The archivers have a new option -z that can be used in combination with the -r option to force all time stamps to zero,
resulting in a reproducible result. With this option, two archives created from the same set of objects will be bit-identical.
Silent command line installation
The product now includes a silent command line installation for Windows. See setup_silent.bat --help for the usage.
The license protected executables in this release, are built with TLM v2.2r1.
The main new features of TLM v2.2r1 are:
- License pool mechanism
- Improved Verbose Logging
- Support for wait for a free license
For more detailed information, please refer to section License Information.
Fixed Problems
- TCVX-43627 - Removed section entries in map file have a different order for equal builds
- TCVX-43727 - MISRA C:2012 rule 5.3 violation when math.h and libfloat.h are included
- TCVX-43730 - Unexpected MISRA C:2012 rule 10.4 violation when enum with 2 elements is used in a comparison
- TCVX-43735 - C++ compiler defines "section" and "leaf" as keywords
- TCVX-43773 - TASKING properties export does not include file/folder local settings
- TCVX-43846 - Dynamic profiling description needs update regarding clock() function usage
- TCVX-43859 - Predefined macro __GNUC__ when --g++ option is used is not described
- TCVX-43950 - Archiver option -w/--warning does nothing
- TCVX-43994 - Linker ltc allows duplicate interrupt vectors to be located in vector table
- TCVX-43995 - Macro PROF_ENABLE defined for static profiling
- TCVX-44020 - No virtual core configuration for single core CPUs not supported in Eclipse
- TCVX-44048 - Header file setjmp.h - MISRA C check disabling not restored to default
- TCVX-44112 - Unexpected MISRA C 2012 rule 10.3 violation for enum usage in ternary expression
- TCVX-44229 - No C++ library versions compiled with option --no-exceptions included in the product
- TCVX-44264 - Pin mapper: CSV export does not work when port 2 is configured for a TC26x
- TCVX-44296 - Compiler User Guide incorrect description of return value for fdim()
- TCVX-44301 - LSL macro NOXC800INIT is not documented
- TCVX-44302 - Chapter 'Linker Labels' needs clarification about end address labels
- TCVX-44317 - Cross-Linking chapter lacks information about different FP options for TriCore v4.2r2
- TCVX-44319 - Chapter 7.5 Cross-Linking requires update related to setjmp / longjmp
- TCVX-44320 - Stack and heap memory is not ballooned by default
- TCVX-44322 - Section 7.5 Cross-Linking requires update related to instances of flexible array members
- TCVX-44336 - Struct alignment table in chapter 1.1 Data Types needs update due to EABI changes
- TCVX-44343 - AURIX 2G start address not selectable when no HWCFG pins mode select disabled
- TCVX-44375 - Order of const variables may change when the content changes and all variables are in the same section
- TCVX-44378 - Section summary information cuts off long function names
- TCVX-44440 - Output section examples in user guide need correction
- TCVX-44490 - Description for .SPACE assembler directive incomplete
- TCVX-44494 - C++ compiler: uppercase sub-options of -E/--preprocess do not work
- TCVX-44499 - C++ compiler option --no-stdinc does not work
- TCVX-44508 - Vector table definition in ISR function not supported by C++ compiler
- TCVX-44527 - Compiler Safety Manual "Guideline 5.8.1.1 Verify linker map file" is not clear enough
- TCVX-44546 - SW impl. of C standard library function fmaf() may return imprecise results under --fp-model=ft and --fp-model=fts
- TCVX-44553 - Some FP related functions are missing in the Standard C library (C90 standard)
- TCVX-44573 - C compiler error S917: internal consistency check failed for atomic type > 64 bits
- TCVX-44578 - Eclipse headless build with automatic makefile generation disabled: error java.lang.NullPointerException
- TCVX-44594 - Linker may hang when the size of an output section is at least 2 MB
- TCVX-44595 - Linker inserts section in an ordered, contiguous, fill group
- TCVX-44603 - Invalid constant propagation with tripple indirection
- TCVX-44647 - Safety Manual: Incomplete entry in Table 3: Core toolset libraries for TriCore
- TCVX-44653 - Peephole optimization error in specific use case
- TCVX-44669 - Compiler User Guide shall explain the Translation Limits more user friendly
- TCVX-44682 - Error E265: syntax error in #if/#elif expression when invoking the C preprocessor using boolean values
- TCVX-44703 - C Startup code omits reset event check which leads to SMU alarms due to clock initialization
- TCVX-44712 - HLL Object Dumper error F171
- TCVX-44730 - Getting started document lacks information related to the installation under Linux
- TCVX-44756 - 8051 compiler: Conditional illegal sequential load of volatile address
- TCVX-44783 - C compiler may incorrectly contract expressions
- TCVX-44788 - Using LSL group fill keyword without a value does not fill alignment gaps with zeros
- TCVX-44791 - S911 error when automatic inlining enabled plus size/speed tradeoff value less than 2
- TCVX-44809 - C/C++ compiler not ABI compliant w.r.t. type of char (should be unsigned)
- TCVX-44819 - Preprocessor output is not included in the given output folder
- TCVX-44851 - C compiler: VLA: error S911: internal consistency check failed - please report
- TCVX-44854 - Segmentation fault error due to LSL sizeof built-in function usage in a non-supported context
- TCVX-44861 - C Compiler S911 error when --misrac-version=2012 is used
- TCVX-44862 - User guide mentions --emit-locals=-equ instead of --emit-locals=-equs as assembler option used in Eclipse
- TCVX-44875 - The __DMB() intrinsic does not always work as a memory fence
- TCVX-44888 - elfdump documentation missing from user guide
- TCVX-44902 - C51 assembler: missing diagnostics for sfr bit type expressions
- TCVX-44911 - Assembler does not support optional #-prefix on immediate instruction field
- TCVX-44926 - Missing diagnostic message W507 variable is possibly uninitialized
- TCVX-44932 - Unclarity about the interpretation of Safety Manual guideline "Verify object file"
- TCVX-44940 - Unclarity about the qualification status of memory initialization code
- TCVX-44943 - Debug information included in object file can lead to unusable file size increase
- TCVX-44945 - Explain clone .text .clone code sections missing in copytable when using --non-romable option
- TCVX-44964 - Purpose of guideline "Generate intermediate files and diagnostics files" is not clearly specified
- TCVX-44979 - C++ compiler error when accessing a member of a constexpr object as template argument
- TCVX-44992 - Trap encountered when debugging an elf file while the hex file works normal
- TCVX-45005 - Example included in chapter 7.9.12. Stack Size Estimation is erroneous
- TCVX-45020 - Startup code conducts PLL initialization after a software reset
- TCVX-45068 - Chapter 'Compiler Cache' includes erroneous information related to adding cache related information to the assembly source
- TCVX-45089 - Linker truncates ELF program header entry
- TCVX-45092 - Stack is not initialized for some __channel functions with run-time library calls
- TCVX-45108 - MOVL optimized out even when zero status bit is significant
- TCVX-45117 - Compiler does not generate debug information for enum typedefs
- TCVX-45119 - Compiler Safety Manual Guidelines 6.2.6.2 and 6.2.9.2 include erroneous information regarding the map file time stamp
- TCVX-45120 - C compiler c51 generates wrong code
- TCVX-45125 - Wrong ctc W587: underflow on constant of type "double"
- TCVX-45128 - C++ compiler: inconsistent behavior for #pragma define_type_info
- TCVX-45147 - Debug information for typedefs mapped to base type instead of typedef name
- TCVX-45150 - C Compiler: undocumented predefined macros
- TCVX-45192 - Description about the Return value of __swap & __swapmskw and __cmpswapw is missing
- TCVX-45196 - Evaluation of floating expressions involving NaN may produce wrong results
- TCVX-45199 - C compiler error ctc S917: internal consistency check failed due to erroneous loop optimization
- TCVX-45215 - C Compiler: compiling _Pragma operator in macro causes E211: _Pragma argument should be a single string literal
- TCVX-45216 - Language extensions __gr, __gd and __gro are not documented
- TCVX-45223 - Compiler does not avoid out-of-range operand for __swapmskw
- TCVX-45230 - Different debug labels generated when the same file is compiled multiple times
- TCVX-45231 - C compiler accepts a 'h' suffix in an integer constant value
- TCVX-45241 - Incorrect copy table code for unaligned destination in non byte addressable memory regions
- TCVX-45249 - Unexpected C compiler warning W547: undefined enum value issued
- TCVX-45250 - Missing diagnostic for an empty include file name
- TCVX-45251 - Missing diagnostic for *&non_lvalue
- TCVX-45252 - Constant expressions are more general than defined by the C standard
- TCVX-45253 - Missing diagnostic for some cases with name redeclaration
- TCVX-45254 - Missing diagnostic for some uses of the _Alignof operator
- TCVX-45260 - C compiler: with option -OP: confusing warning W506: variable "<non existing variable>" is not initialized
- TCVX-45261 - Jump threading can behave incorrectly when variables have their address taken
- TCVX-45262 - Control program passes option -gsl to the assembler when -g is used in the invocation
- TCVX-45263 - C++ compiler accepts an 'h' suffix in an integer literal
- TCVX-45270 - Attributes __align() and aligned() are silently ignored for functions
- TCVX-45272 - Safety Manual: Guideline 6.2.4.2 – incorrect reference to lktc for the linker instead of ltc
- TCVX-45273 - Access to halfword aligned 32-bit int data types is not always atomic
- TCVX-45276 - New EABI option long-long-bitfield is not documented in the release notes of TriCore v6.3r1 patch 8
- TCVX-45279 - Undocumented struct member alignment when __align is applied to a struct definition
- TCVX-45292 - Incorrect code generation for a boolean test
- TCVX-45329 - Linker warning W164 failed to read debugging information for global typechecking when __packw or __packhw data types used
- TCVX-45336 - Linker: ltc I434: emitting report files (task1) Segmentation fault after ltc E157 cannot find address space
- TCVX-45338 - C++ compiler run-time problem using variable length array (VLA)
- TCVX-45348 - Clustering optimization generates code with an incorrect relocation
- TCVX-45358 - C compiler generated code provokes assembler error E219: expression out of range when expression simplification optimization is disabled
- TCVX-45377 - Different struct size using __packed__ keyword in a typedef compared to using it in a struct definition
- TCVX-45380 - C Compiler: __STDC__ always evaluates to '1'
- TCVX-45381 - Linker fails to locate contiguous sections with alignment constraints using first-fit-decreasing strategy
- TCVX-45385 - Linker: option --chip-output truncates data and code in hex files for successive memories
- TCVX-45388 - Alias not detected in C51 peephole optimizations
- TCVX-45389 - C compiler: TC3xx SFR file contains incorrect address for MCS(x)_WRADDR(x)
- TCVX-45395 - Missing reload of a variable passed by address to a system call trap before evaluation following that call
- TCVX-45401 - Incorrect wrap-around behavior when converting from a 64-bit integral type to a 32-bit __sat type
- TCVX-45424 - C++ compiler generates .data section (RAM) for the printf strings literal instead of .rodata section (ROM)
- TCVX-45431 - C++ issue with template dependent types implementation
- TCVX-45432 - C compiler error S911: internal consistency check failed - please report
- TCVX-45436 - Linker crashes on LSL reserved section with properties attributes=rw, fill, and alloc_allowed
- TCVX-45440 - Pointsto analysis can get confused by aliases
- TCVX-45442 - Run-time comparison to a floating-point NaN returns true in some cases
- TCVX-45445 - Compiler ignores __sfrbit16 keyword and emits byte access instead of halfword
- TCVX-45447 - Identical calls or other side effects can be dropped in a range test
- TCVX-45451 - C compiler error S900 internal consistency check failed triggered when forward store as well as constant propagation optimization disabled
- TCVX-45457 - Erroneous data access when cluster global variables optimization is enabled
- TCVX-45459 - USAT and USAT16 assembler instructions produce wrong opcode
- TCVX-45460 - Pointer subtraction can be incorrectly folded on MCS
- TCVX-45465 - LSL group priority is not applied to sections with a range restriction
- TCVX-45466 - LSL range restriction with different LSL group priorities is not split up on priority
- TCVX-45474 - Generic assembly code optimization (GLO) can merge non-identical instructions on 8051
- TCVX-45475 - Compiler ignores conditional initialization of a local variable
- TCVX-45477 - File I/O overwrites data outside of the I/O buffer
- TCVX-45478 - Linker generates empty ROM copy sections when an uninitialized section is included in an LSL group with copy keyword
- TCVX-45482 - Multiple LSL group definitions for veneer section placement generate unexpected result
- TCVX-45490 - S900 error for specific use case when generic assembly optimizations disabled
- TCVX-45492 - Compiler does not use the value of all input parameters in a bitwise operation
- TCVX-45493 - C++ library function std::fabs(float) is not available
- TCVX-45501 - Arm compiler: unsigned division of high numbers by 3 can produce incorrect result
- TCVX-45516 - Compiler is not assigning a struct member value
- TCVX-45522 - Erroneous code generated for a use case including a ternary expression
- TCVX-45566 - Anonymous struct/union alignment requirements not propagated to enclosing struct/union
For a quick start, just start the TriCore Eclipse IDE from the Start menu. This will start the Eclipse based development
environment. You will be asked to select a workspace. In case you used Eclipse before it is recommended to select a
new workspace. After clicking OK, you will see the 'Welcome' view. On this view you will see icons that link to specific
information. You can, for example, select the 'Samples' icon and import the TriCore project examples and/or Arm example projects.
Another icon on the Welcome page, the 'First Steps' icon, links to the 'TriCore Getting Started' document. This is a
good starting point for exploring the capabilities of the environment and the tools.
TASKING products are protected with TASKING license management software.
License key
You need a license key when you install a TASKING product on a computer. When you order a TASKING
product from TASKING or one of its distributors, a license key will be sent to you by email or on paper.
See the TASKING License Management (TLM) Support page
for information on obtaining a license.
License pool mechanism
You can now define a named pool of specific licenses on the local license server.
A license pool is useful to specify that the licenses for one or more products shall
be grouped together. This can be the case for example when your license agreement
has constraints on geographical location, such as a single site license, country license
or continental license. In that case you can put all product licenses that are allowed
to be used by a specific location into a license pool.
Pool names for TASKING products released after March 2023 have the syntax
POOL-name, where the name is free to choose from 1 up to 14 characters.
Pool names are also supported with existing TASKING products, as long as you use the TASKING Local License Server v1.5r3 or up
and specify the pool names in the fixed format POOL-xxxx-xxxx-xxxx.
Note that you also need to use this fixed pool name format if you are mixing older and newer
TASKING products.
The PRODUCT keyword has been deprecated, but still works for backwards compatibility.
Improved Verbose Logging
You can set the TSK_LOG_VERBOSE option in licopt.txt,
or as an environment variable, to different verbose levels.
With level 3 or higher, detailed license configuration information is shown, which
is useful for debugging licensing problems. For example, it shows the environment variables
or options used, the license key and the search path.
Support for wait for a free license
You can now set the TSK_LICENSE_WAIT option in licopt.txt to a
configurable time period to wait for a free license seat to become available instead of directly
terminating when a license request is denied.
See Wait for a
Free License
You can combine the wait for a free license with the license queuing mechanism of the
local license server.
See Using a License Queue.