Patch 200512061-1 - Rational Apex Embedded (Rational Exec) 4.2 for Sun Solaris->rh32 ----------------------------------------------------------- To install this patch, download these 3 files and run the install script: install_sol_200512061_1 sol.patch.200512061-1.inventory sol.patch.200512061-1.tar.Z Description ---------------------------------------------------------- It is suggested that all users install this patch. ---------------------------------------------------------- This patch fixes the following: Defect RATLC00143984: The program etdm_test has a problem with the load command resulting in the message Bad Load File when it reads the instruction at the entry point. The program from_deb, has a problem also with load commands. Conversion to Ada95 introduced a segmentation fault when a load command is issued. The program a.db_iface_etdm shows a tendency to hang. Defect RATLC00878353: The debugger does not handle single floating point variables held in floting registers correctly. It fails to check if the register is Single Floating format. Defect RATLC00878355: When the disassembler acts on an executable, it tends to miss short instructions near procedure boundaries because it misinterprets zero filled halfwords inserted by the linker. ---------------------------------------------------------- The following were fixed in earlier patches. The fixes are included in this patch as well. Defect RATLC00877832: This patch fixes a problem with the getio machine_code operation, where the code generator did not detect that the first operand is modified by the instruction. This could cause the code generator to generate incorrect code for procedures that use the getio machine instruction. This patch provides a new code generator and optimizer file. It requires a new rh32_instr.apex file by an accompanying views patch. REQ_PID 200507138-1 Defect RATLC01078314: This patch fixes a problem where incorrect code was sometimes generated for machine code opcodes that read the cache control registers and timer registers. The incorrect code generallyo occurred at higher optimization levels, or when the read cache control register instructions were inlined. The incorrect code would overwrite the contents of register R2, which was used as a temporary. Defect RATLC01098980: Incorrect code was sometimes generated for 32 bit unsigned integer divide operations. The problem occurred only when the following three conditions existed simultaneously: (1) OPTIMIZATION_LEVEL 2 is in force. (2) the result is stored into a memory location (for example, a record field addressed at an offset to an Ada access value). (3) the divisor is a constant, and an integral power of 2. When these conditions were true, a correct result was calculated using a shift instruction (as expected), but the required store of the result to memory was omitted. ---------------------------------------------------------- It is suggested that all users install this patch.