blob: b84997e94519a0091e1813f1586e6f94e673f4d3 [file] [log] [blame]
// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
// Copyright (C) 1997-1998, 2000-2001, 2004-2007 Steve Nygard
#import "CDDynamicSymbolTable.h"
#include <mach-o/loader.h>
#include <mach-o/swap.h>
#import <Foundation/Foundation.h>
#import "CDFatFile.h"
#import "CDMachOFile.h"
@implementation CDDynamicSymbolTable
- (id)initWithPointer:(const void *)ptr machOFile:(CDMachOFile *)aMachOFile;
{
if ([super initWithPointer:ptr machOFile:aMachOFile] == nil)
return nil;
dysymtab = *(struct dysymtab_command *)ptr;
if ([aMachOFile hasDifferentByteOrder] == YES)
swap_dysymtab_command(&dysymtab, CD_THIS_BYTE_ORDER);
#if 0
NSLog(@"ilocalsym: 0x%08x %d", dysymtab.ilocalsym, dysymtab.ilocalsym);
NSLog(@"nlocalsym: 0x%08x %d", dysymtab.nlocalsym, dysymtab.nlocalsym);
NSLog(@"iextdefsym: 0x%08x %d", dysymtab.iextdefsym, dysymtab.iextdefsym);
NSLog(@"nextdefsym: 0x%08x %d", dysymtab.nextdefsym, dysymtab.nextdefsym);
NSLog(@"iundefsym: 0x%08x %d", dysymtab.iundefsym, dysymtab.iundefsym);
NSLog(@"nundefsym: 0x%08x %d", dysymtab.nundefsym, dysymtab.nundefsym);
NSLog(@"tocoff: 0x%08x %d", dysymtab.tocoff, dysymtab.tocoff);
NSLog(@"ntoc: 0x%08x %d", dysymtab.ntoc, dysymtab.ntoc);
NSLog(@"modtaboff: 0x%08x %d", dysymtab.modtaboff, dysymtab.modtaboff);
NSLog(@"nmodtab: 0x%08x %d", dysymtab.nmodtab, dysymtab.nmodtab);
NSLog(@"extrefsymoff: 0x%08x %d", dysymtab.extrefsymoff, dysymtab.extrefsymoff);
NSLog(@"nextrefsyms: 0x%08x %d", dysymtab.nextrefsyms, dysymtab.nextrefsyms);
NSLog(@"indirectsymoff: 0x%08x %d", dysymtab.indirectsymoff, dysymtab.indirectsymoff);
NSLog(@"nindirectsyms: 0x%08x %d", dysymtab.nindirectsyms, dysymtab.nindirectsyms);
NSLog(@"extreloff: 0x%08x %d", dysymtab.extreloff, dysymtab.extreloff);
NSLog(@"nextrel: 0x%08x %d", dysymtab.nextrel, dysymtab.nextrel);
NSLog(@"locreloff: 0x%08x %d", dysymtab.locreloff, dysymtab.locreloff);
NSLog(@"nlocrel: 0x%08x %d", dysymtab.nlocrel, dysymtab.nlocrel);
#endif
return self;
}
@end