void CVAddLocal( seg_leader *seg, offset length ) /*******************************************************/ // called during pass 1 final segment processing. { if( IS_DBG_INFO( seg ) ) { AddSubSection( FALSE ); } }
void CVAddLocal( seg_leader *seg, offset length ) /*******************************************************/ // called during pass 1 final segment processing. { if( IS_DBG_INFO( seg ) ) { //if( length > 0xFFFF ) { // LnkMsg( WRN+LOC+MSG_DEBUG_TOO_LARGE, "s", "Codeview" ); //} else { AddSubSection( FALSE ); //} } }
void CVP1ModuleFinished( mod_entry *obj ) /**********************************************/ // calculate size of the sstModule { byte namelen; unsigned_32 temp; unsigned_32 size; if( MOD_NOT_DEBUGGABLE( obj ) ) return; TempIndex++; CurrMod = obj; obj->d.cv->modidx = TempIndex; if( CurrMod->modinfo & DBI_LINE ) { DBILineWalk( obj->lines, CVAddLines ); } Ring2Walk( obj->publist, DBIModGlobal ); namelen = strlen( obj->name ); // required alignment ??? size = sizeof( cv_sst_module ) + namelen + 1 - sizeof( cv_seginfo ); size = ROUND_UP( size, 4 ); SectAddrs[CVSECT_MODULE] += size; // required alignment ??? AddSubSection( TRUE ); if( obj->d.cv->pubsize > 0 ) { AddSubSection( FALSE ); SectAddrs[CVSECT_MISC] += sizeof( unsigned_32 ); obj->d.cv->pubsize += sizeof( unsigned_32 ); } if( obj->d.cv->numlines > 0 ) { AddSubSection( FALSE ); temp = sizeof( cheesy_module_header ); temp += ROUND_UP( sizeof( cheesy_file_table ) + namelen, 4 ); temp += sizeof( cheesy_mapping_table ); temp += ROUND_UP( obj->d.cv->numlines * ( sizeof( unsigned_32 ) + sizeof( unsigned_16 ) ), 4 ); SectAddrs[CVSECT_MISC] += temp; } }