PROBLEM: (82149) (PATCH ID: OSF510-028) ******** When Spike is applied to a program that contains a switch statement which always goes to the same case, Spike makes the program significantly slower. PROBLEM: (83940) (PATCH ID: OSF510-147) ******** There are some circumstances in which the Spike post-link optimizer may delete the high instruction of a two-instruction pair, but fail to delete the associate low instruction. This will cause Spike to emit a runtime error similar to the following: FAULT: ../../../../../../src/usr/ccs/bin/spike/rel.cxx(4100): REL_CheckSectionRelocs: mismatched value sections for R_SPIKE_IMMED_GP_HI32 and R_SPIKE_IMMED_LO32 This can be worked around by passing the option "-nounreachable" to Spike. PROBLEM: (85576, 85676) (PATCH ID: OSF510-205) ******** The /usr/ucb/spike post-link optimization tool will crash if the image it is optimizing contains duplicate linker-defined symbols. Under certain link conditions, the linker will generate duplicate linker-defined symbols, such as "_etext". If spike is used to optimize images with these duplicate symbols, it will crash with the following assertion failure: ? FATAL ERROR ? Assertion failed. ? ../../../../../../src/usr/ccs/bin/spike/rel.cxx, line 2388 NO STACKTRACE no executable specified Floating exception (core dumped) This patch fixes the spike assertion failure. The /sbin/loader problem this patch fixes is with the ldr_inq_region() call. Previously, no error would be returned when an invalid region number was passed as a parameter to the call. With this patch, the ldr_inq_region() call will properly report an error if it is passed an invalid region value.