Chameleon

Chameleon Commit Details

Date:2011-02-09 18:00:33 (13 years 2 months ago)
Author:Evan Lojewski
Commit:743
Parents: 742
Message:No more TODO's in module system
Changes:
M/branches/meklort/i386/boot2/modules.c

File differences

branches/meklort/i386/boot2/modules.c
410410
411411
412412
413
413
414414
415415
416416
......
483483
484484
485485
486
487
488486
489487
490488
......
11201118
11211119
11221120
1123
11241121
11251122
11261123
case LC_LOAD_WEAK_DYLIB ^ LC_REQ_DYLD:
dylibCommand = binary + binaryIndex;
char* module = binary + binaryIndex + ((UInt32)*((UInt32*)&dylibCommand->dylib.name));
// TODO: verify version
// Possible enhancments: verify version
// =dylibCommand->dylib.current_version;
// =dylibCommand->dylib.compatibility_version;
if(dylib_loader)
UInt32 symbolIndex= 0;
char* symbolString= base + (char*)symtabCommand->stroff;
// TODO: verify that the _TEXT,_text segment starts at the same locaiton in the file. If not
//subtract the vmaddress and add the actual file address back on. (NOTE: if compiled properly, not needed)
if(!is64)
{
struct nlist* symbolEntry = (void*)base + symtabCommand->symoff;
void dyld_stub_binder()
{
// TODO: actualy impliment this function (asm)
printf("ERROR: dyld_stub_binder was called, should have been take care of by the linker.\n");
getc();
}

Archive Download the corresponding diff file

Revision: 743