purify 4.1 and egcs still appear to be incompatible.
Laurent Bonnaud
bonnaud@irisa.fr
Mon Feb 16 10:16:00 GMT 1998
>>>>> "Brad" == Brad M Garcia <bgarcia@fore.com> writes:
Brad>
Brad> The difference appears to be the '-O2' option. If you compile my
Brad> test program with _no_ optimization, you get the Uninitialized Memory
Brad> Read errors. Compiling with '-O' also gets rid of the problem.
Brad>
Brad> Laurent, can you confirm this behavior?
Yes : without optimizations i get errors, too :
Purify instrumented ./e (pid 21292 at Mon Feb 16 18:43:37 1998)
UMR: Uninitialized memory read
This is occurring while in:
__uninitialized_copy_aux__H2ZPiZPi_X01T0X11G11__true_type_X11 [stl_uninitialized.h:42]
__uninitialized_copy__H3ZPiZPiZi_X01T0X11PX21_X11 [stl_uninitialized.h:66]
uninitialized_copy__H2ZPiZPi_X01T0X11_X11 [stl_uninitialized.h:73]
insert_aux__t6vector2ZiZt24__default_alloc_template2b0i0PiRCi [stl_vector.h:337]
push_back__t6vector2ZiZt24__default_alloc_template2b0i0RCi [stl_vector.h:150]
main [e.cpp:6]
Reading 1 byte from 0xeffff17f on the stack.
Address 0xeffff17f is 17 bytes below frame pointer in function __uninitialized_copy__H3ZPiZPiZi_X01T0X11PX21_X11.
UMR: Uninitialized memory read (4 times)
This is occurring while in:
__copy_t__H1Zi_PCX01T0PX01G11__true_type_PX01 [stl_algobase.h:146]
__copy_dispatch<int*,int*>::operator ()(int*,int*,int*) [stl_algobase.h:161]
copy__H2ZPiZPi_X01T0X11_X11 [stl_algobase.h:180]
__uninitialized_copy_aux__H2ZPiZPi_X01T0X11G11__true_type_X11 [stl_uninitialized.h:43]
__uninitialized_copy__H3ZPiZPiZi_X01T0X11PX21_X11 [stl_uninitialized.h:66]
uninitialized_copy__H2ZPiZPi_X01T0X11_X11 [stl_uninitialized.h:73]
Reading 1 byte from 0xeffff01f on the stack.
Address 0xeffff01f is 17 bytes below frame pointer in function __copy_dispatch<int*,int*>::operator ()(int*,int*,int*).
UMR: Uninitialized memory read
UMR: Uninitialized memory read
UMR: Uninitialized memory read
UMR: Uninitialized memory read
UMR: Uninitialized memory read
UMR: Uninitialized memory read
Current file descriptors in use: 5
Memory leaked: 0 bytes (0%); potentially leaked: 0 bytes (0%)
Program exited with status code 0.
It is not a big problem for me, as i can still debug a program with
-O2.
For me the problem seems to be in SGI's STDLIB, not in Purify. So i
would report the problem to SGI.
--
Laurent.
More information about the Gcc-bugs
mailing list