Пример #1
0
void FiniDebugLine(
    dw_client                   cli )
{
    char                        buf[ sizeof( uint_32 ) ];
    long                        size;

    buf[ 0 ] = 0;
    buf[ 1 ] = 1;
    buf[ 2 ] = DW_LNE_end_sequence;
    CLIWrite( DW_DEBUG_LINE, buf, 3 );
    size = CLITell( DW_DEBUG_LINE ) - sizeof( uint_32 )
        - cli->section_base[ DW_DEBUG_LINE ];
    WriteU32( buf, size );
    CLISeek( DW_DEBUG_LINE, cli->section_base[ DW_DEBUG_LINE ], DW_SEEK_SET );
    CLIWrite( DW_DEBUG_LINE, buf, sizeof(uint_32) );
    CLISeek( DW_DEBUG_LINE, 0, DW_SEEK_END );
    FreeChain( cli, cli->debug_line.files );
}
Пример #2
0
void CLIRewind( void ) {
/***********************/

    int         x = 0;

    for( x = 0; x < DW_DEBUG_MAX; x++ ) {
        CLISeek( x, 0, DW_SEEK_SET );
    }
}
Пример #3
0
void FiniDebugPubnames(
    dw_client                   cli )
{
    static  char const     zeros[ sizeof( uint_32 ) ];
    char                        buf[ sizeof( debug_ref ) ];
    debug_ref                   offset;

    /* write the set terminator */
    CLIWrite( DW_DEBUG_PUBNAMES, zeros, sizeof( uint_32 ) );

    /* backpatch the section length */
    offset = CLITell( DW_DEBUG_PUBNAMES )
        - cli->section_base[ DW_DEBUG_PUBNAMES ] - sizeof( debug_ref );
    WriteRef( buf, offset );
    CLISeek( DW_DEBUG_PUBNAMES, cli->section_base[ DW_DEBUG_PUBNAMES ],
        DW_SEEK_SET );
    CLIWrite( DW_DEBUG_PUBNAMES, buf, sizeof( debug_ref ) );
    CLISeek( DW_DEBUG_PUBNAMES, 0, DW_SEEK_END );
}
Пример #4
0
debug_ref InfoSkip(
    dw_client                   cli,
    dw_size_t                   amt )
{
    debug_ref                   ret;

    ret = CLITell( DW_DEBUG_INFO ) - cli->section_base[ DW_DEBUG_INFO ];
    CLISeek( DW_DEBUG_INFO, amt, DW_SEEK_CUR );
    return( ret );
}
Пример #5
0
void InitDebugPubnames(
    dw_client                   cli )
{
    static uint_16  const version = 2;

    /* write the set header */
    CLISeek( DW_DEBUG_PUBNAMES, sizeof( uint_32 ), DW_SEEK_CUR );
    CLIWrite( DW_DEBUG_PUBNAMES, &version, sizeof( version ) );
    CLIReloc3( DW_DEBUG_PUBNAMES, DW_W_SECTION_POS, DW_DEBUG_INFO );
    CLIReloc2( DW_DEBUG_PUBNAMES, DW_W_UNIT_SIZE );
}