FYI..

There are a few interesting things in here which look like they may be 
real errors.  (i'd ignore the PLKs for now)

--Josh

perl assemble.pl t/test.pasm  > t/test.pbc
./test_prog t/test.pbc > t/test.out
****  Purify instrumented test_prog (pid 17982 at Thu Sep 13 02:08:41 2001)
  * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All 
rights reserved. 
  * For contact information type: "purify -help"
  * Command-line: test_prog 
  * Options settings: -purify -windows=no \
    
-purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2
 
  * License successfully checked out.
  * Command-line: ./test_prog t/test.pbc 

****  Purify instrumented test_prog (pid 17982)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        _unpacked_to_decimal_two [libc.so.1]
        __k_double_to_decimal [libc.so.1]
        double_to_decimal [libc.so.1]
        fconvert       [libc.so.1]
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
  * Reading 1 byte from 0xffbeda00 on the stack.
  * Address 0xffbeda00 is     1024 bytes below frame pointer in function 
_unpacked_to_decimal_two.

****  Purify instrumented test_prog (pid 17982)  ****
Current file descriptors in use: 6
FIU: file descriptor 0: <stdin>
FIU: file descriptor 1: <stdout>
FIU: file descriptor 2: <stderr>
FIU: file descriptor 3: "t/test.pbc", O_RDONLY
   * File info: -rw-r--r--  1 jwilmes  eman           268 Sep 13 02:08
   * File position: 0
   * This file descriptor was allocated from:
        __open         [libc.so.1]
        _open          [libc.so.1]
        main           [test_main.c:62]
        _start         [crt1.o]
FIU: file descriptor 26: <reserved for Purify internal use>
FIU: file descriptor 27: <reserved for Purify internal use>

****  Purify instrumented test_prog (pid 17982)  ****
Purify: Searching for all memory leaks...

Memory leaked: 0 bytes (0%); potentially leaked: 57400 bytes (77.8%)

PLK: 32768 bytes potentially leaked at 0xa9b60
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:30]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xa7b08
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:29]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb1bb8
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:31]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb3c10
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:32]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 56 bytes potentially leaked at 0xa7a78
  * This memory was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        make_interpreter [interpreter.c:24]
        main           [test_main.c:26]
        _start         [crt1.o]

Purify Heap Analysis (combining suppressed and unsuppressed blocks)
                         Blocks        Bytes
              Leaked          0            0
  Potentially Leaked          6        65600
              In-Use          1         8192
  ----------------------------------------
     Total Allocated          7        73792

****  Purify instrumented test_prog (pid 17982)  ****
  * Program exited with status code 0.
  * 1 access error, 3 total occurrences.
  * 0 bytes leaked.
  * 57400 bytes potentially leaked.
  * Basic memory usage (including Purify overhead):
    462068 code
    93516 data/bss
    81920 heap (peak use)
    2664 stack
  * Shared library memory usage (including Purify overhead):
    1456 libpure_solaris2_init.so.1 (shared code)
    252 libpure_solaris2_init.so.1 (private data)
    141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code)
    1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data)
    1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code)
    108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data)
    2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code)
    4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data)
    13528 libinternal_stubs.so.1 (shared code)
    916 libinternal_stubs.so.1 (private data)
    14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code)
    0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data)
  * Memory mapped usage:
    8192 mmap'd at 0xfebb0000

perl assemble.pl t/test2.pasm > t/test2.pbc
./test_prog t/test2.pbc > t/test2.out
****  Purify instrumented test_prog (pid 18081 at Thu Sep 13 02:12:41 2001)
  * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All 
rights reserved. 
  * For contact information type: "purify -help"
  * Command-line: test_prog 
  * Options settings: -purify -windows=no \
    
-purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2
 
  * License successfully checked out.
  * Command-line: ./test_prog t/test2.pbc 

****  Purify instrumented test_prog (pid 18081)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        string_substr  [string.c:81]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 4 bytes from 0xb2018 in the heap.
  * Address 0xb2018 is 1120 bytes into a malloc'd block at 0xb1bb8 of 8192 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:31]
        main           [test_main.c:26]
        _start         [crt1.o]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been 0 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMW: Free memory write:
  * This is occurring while in:
        memcpy         [rtlib.o]
        string_native_substr [strnative.c:50]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
  * Writing 1 byte to 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been 0 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        __mbtowc_sb    [libc.so.1]
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1207959552 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        __mbtowc_sb    [libc.so.1]
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1207959552 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1207959552 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e71 in the heap.
  * Address 0xb7e71 is 2 bytes past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1214578688 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1214578688 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1214606336 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 1 byte from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1214606442 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
FMR: Free memory read:
  * This is occurring while in:
        memcpy         [rtlib.o]
        _memcpy        [rtlib.o]
        _doprnt        [libc.so.1]
        printf         [libc.so.1]
        print_s        [basic_opcodes.c:431]
        runops         [interpreter.c:17]
  * Reading 5 bytes from 0xb7e70 in the heap.
  * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes.
  * This block was allocated from:
        *unknown func* [pc=0x6f03446c]
        Sys_Allocate   [memory.c:35]
        string_make    [string.c:19]
        string_substr  [string.c:82]
        substr_s_s_i   [basic_opcodes.c:452]
        runops         [interpreter.c:17]
  * There have been -1214606442 frees since this block was freed from:
        free           [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

****  Purify instrumented test_prog (pid 18081)  ****
Current file descriptors in use: 6
FIU: file descriptor 0: <stdin>
FIU: file descriptor 1: <stdout>
FIU: file descriptor 2: <stderr>
FIU: file descriptor 3: "t/test2.pbc", O_RDONLY
   * File info: -rw-r--r--  1 jwilmes  eman           236 Sep 13 02:12
   * File position: 0
   * This file descriptor was allocated from:
        __open         [libc.so.1]
        _open          [libc.so.1]
        main           [test_main.c:62]
        _start         [crt1.o]
FIU: file descriptor 26: <reserved for Purify internal use>
FIU: file descriptor 27: <reserved for Purify internal use>

****  Purify instrumented test_prog (pid 18081)  ****
Purify: Searching for all memory leaks...

Memory leaked: 11 bytes (0.0149%); potentially leaked: 57400 bytes (77.7%)

MLK: 11 bytes leaked at 0xb7ec8
  * This memory was allocated from:
        malloc         [rtlib.o]
        realloc        [rtlib.o]
        string_grow    [string.c:33]
        string_native_substr [strnative.c:49]
        string_substr  [string.c:85]
        substr_s_s_i   [basic_opcodes.c:452]

PLK: 32768 bytes potentially leaked at 0xa9b60
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:30]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xa7b08
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:29]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb1bb8
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:31]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb3c10
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:32]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 56 bytes potentially leaked at 0xa7a78
  * This memory was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        make_interpreter [interpreter.c:24]
        main           [test_main.c:26]
        _start         [crt1.o]

Purify Heap Analysis (combining suppressed and unsuppressed blocks)
                         Blocks        Bytes
              Leaked          1           11
  Potentially Leaked          6        65600
              In-Use          5         8275
  ----------------------------------------
     Total Allocated         12        73886

****  Purify instrumented test_prog (pid 18081)  ****
  * Program exited with status code 0.
  * 11 access errors, 193 total occurrences.
  * 11 bytes leaked.
  * 57400 bytes potentially leaked.
  * Basic memory usage (including Purify overhead):
    462068 code
    93516 data/bss
    81920 heap (peak use)
    2672 stack
  * Shared library memory usage (including Purify overhead):
    1456 libpure_solaris2_init.so.1 (shared code)
    252 libpure_solaris2_init.so.1 (private data)
    141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code)
    1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data)
    1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code)
    108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data)
    2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code)
    4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data)
    13528 libinternal_stubs.so.1 (shared code)
    916 libinternal_stubs.so.1 (private data)
    14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code)
    0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data)
  * Memory mapped usage:
    8192 mmap'd at 0xfebb0000

perl assemble.pl t/test3.pasm > t/test3.pbc
./test_prog t/test3.pbc > t/test3.out
****  Purify instrumented test_prog (pid 18087 at Thu Sep 13 02:12:41 2001)
  * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All 
rights reserved. 
  * For contact information type: "purify -help"
  * Command-line: test_prog 
  * Options settings: -purify -windows=no \
    
-purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2
 
  * License successfully checked out.
  * Command-line: ./test_prog t/test3.pbc 

****  Purify instrumented test_prog (pid 18087)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        print_i        [basic_opcodes.c:157]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 4 bytes from 0xa8814 in the heap.
  * Address 0xa8814 is 3340 bytes into a malloc'd block at 0xa7b08 of 8192 bytes.
  * This block was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:29]
        main           [test_main.c:26]
        _start         [crt1.o]

****  Purify instrumented test_prog (pid 18087)  ****
IPR: Invalid pointer read:
  * This is occurring while in:
        runops         [interpreter.c:16]
        main           [test_main.c:76]
        _start         [crt1.o]
  * Reading 4 bytes from 0xfebb059c between the heap and the stack.

****  Purify instrumented test_prog (pid 18087)  ****
Current file descriptors in use: 6
FIU: file descriptor 0: <stdin>
FIU: file descriptor 1: <stdout>
FIU: file descriptor 2: <stderr>
FIU: file descriptor 3: "t/test3.pbc", O_RDONLY
   * File info: -rw-r--r--  1 jwilmes  eman          1436 Sep 13 02:12
   * File position: 0
   * This file descriptor was allocated from:
        __open         [libc.so.1]
        _open          [libc.so.1]
        main           [test_main.c:62]
        _start         [crt1.o]
FIU: file descriptor 26: <reserved for Purify internal use>
FIU: file descriptor 27: <reserved for Purify internal use>

****  Purify instrumented test_prog (pid 18087)  ****
Purify: Searching for all memory leaks...

Memory leaked: 0 bytes (0%); potentially leaked: 73784 bytes (81.8%)

PLK: 32768 bytes potentially leaked at 0xa9b60
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:30]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 16384 bytes potentially leaked in 2 blocks
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        Parrot_push_i  [register.c:21]
        push_i         [basic_opcodes.c:339]
        runops         [interpreter.c:17]
        main           [test_main.c:76]
  * Block of 8192 bytes (2 times); last block at 0xbbd78

PLK: 8192 bytes potentially leaked at 0xa7b08
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:29]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb1bb8
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:31]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb3c10
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:32]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 56 bytes potentially leaked at 0xa7a78
  * This memory was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        make_interpreter [interpreter.c:24]
        main           [test_main.c:26]
        _start         [crt1.o]

Purify Heap Analysis (combining suppressed and unsuppressed blocks)
                         Blocks        Bytes
              Leaked          0            0
  Potentially Leaked          8        81984
              In-Use          1         8192
  ----------------------------------------
     Total Allocated          9        90176

****  Purify instrumented test_prog (pid 18087)  ****
  * Program exited with status code 0.
  * 2 access errors, 3 total occurrences.
  * 0 bytes leaked.
  * 73784 bytes potentially leaked.
  * Basic memory usage (including Purify overhead):
    462068 code
    93516 data/bss
    98304 heap (peak use)
    2672 stack
  * Shared library memory usage (including Purify overhead):
    1456 libpure_solaris2_init.so.1 (shared code)
    252 libpure_solaris2_init.so.1 (private data)
    141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code)
    1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data)
    1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code)
    108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data)
    2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code)
    4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data)
    13528 libinternal_stubs.so.1 (shared code)
    916 libinternal_stubs.so.1 (private data)
    14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code)
    0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data)
  * Memory mapped usage:
    8192 mmap'd at 0xfebb0000

perl assemble.pl t/euclid.pasm > t/euclid.pbc
./test_prog t/euclid.pbc > t/euclid.out
****  Purify instrumented test_prog (pid 18093 at Thu Sep 13 02:12:42 2001)
  * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All 
rights reserved. 
  * For contact information type: "purify -help"
  * Command-line: test_prog 
  * Options settings: -purify -windows=no \
    
-purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2
 
  * License successfully checked out.
  * Command-line: ./test_prog t/euclid.pbc 

****  Purify instrumented test_prog (pid 18093)  ****
Current file descriptors in use: 6
FIU: file descriptor 0: <stdin>
FIU: file descriptor 1: <stdout>
FIU: file descriptor 2: <stderr>
FIU: file descriptor 3: "t/euclid.pbc", O_RDONLY
   * File info: -rw-r--r--  1 jwilmes  eman           200 Sep 13 02:12
   * File position: 0
   * This file descriptor was allocated from:
        __open         [libc.so.1]
        _open          [libc.so.1]
        main           [test_main.c:62]
        _start         [crt1.o]
FIU: file descriptor 26: <reserved for Purify internal use>
FIU: file descriptor 27: <reserved for Purify internal use>

****  Purify instrumented test_prog (pid 18093)  ****
Purify: Searching for all memory leaks...

Memory leaked: 0 bytes (0%); potentially leaked: 57400 bytes (77.7%)

PLK: 32768 bytes potentially leaked at 0xa9b60
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:30]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xa7b08
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:29]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb1bb8
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:31]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 8192 bytes potentially leaked at 0xb3c10
  * This memory was allocated from:
        malloc         [rtlib.o]
        Allocate_Aligned [memory.c:27]
        make_interpreter [interpreter.c:32]
        main           [test_main.c:26]
        _start         [crt1.o]

PLK: 56 bytes potentially leaked at 0xa7a78
  * This memory was allocated from:
        malloc         [rtlib.o]
        Sys_Allocate   [memory.c:35]
        make_interpreter [interpreter.c:24]
        main           [test_main.c:26]
        _start         [crt1.o]

Purify Heap Analysis (combining suppressed and unsuppressed blocks)
                         Blocks        Bytes
              Leaked          0            0
  Potentially Leaked          6        65600
              In-Use          4         8264
  ----------------------------------------
     Total Allocated         10        73864

****  Purify instrumented test_prog (pid 18093)  ****
  * Program exited with status code 0.
  * 0 access errors, 0 total occurrences.
  * 0 bytes leaked.
  * 57400 bytes potentially leaked.
  * Basic memory usage (including Purify overhead):
    462068 code
    93516 data/bss
    81920 heap (peak use)
    2672 stack
  * Shared library memory usage (including Purify overhead):
    1456 libpure_solaris2_init.so.1 (shared code)
    252 libpure_solaris2_init.so.1 (private data)
    141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code)
    1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data)
    1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code)
    108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data)
    2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code)
    4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data)
    13528 libinternal_stubs.so.1 (shared code)
    916 libinternal_stubs.so.1 (private data)
    14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code)
    0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data)
  * Memory mapped usage:
    8192 mmap'd at 0xfebb0000



Reply via email to