macross/slinky/relocate.h
2016-01-23 22:57:12 -08:00

23 lines
981 B
C

#ifndef RELOCATE_H_
#define RELOCATE_H_
#include "slinkyTypes.h"
void removeZeroPageFromFreeList(void);
addressType align(addressType address, int alignment);
addressType constrain(addressType address, int size, addressType constraint);
void moveRelocationBase(addressType newBase);
addressType allocateRelocatable(codeSegmentHeaderType *codeSegment);
void relocateOneCodeSegment(codeSegmentHeaderType *codeSegment, addressType targetLocation);
void relocatem(void);
codeSegmentHeaderType *matchModes(symbolType *symbol, codeSegmentHeaderType *codeSegment);
bool matchedModes(symbolType *symbol, codeSegmentHeaderType *codeSegment);
codeSegmentHeaderType *synchronizeCodeSegment(symbolType *symbol, codeSegmentHeaderType *codeSegment);
void handleGlobalSymbol(symbolType *symbol);
void valueSymbol(symbolType *symbol, codeSegmentHeaderType *codeSegment);
symbolType *lookupGlobalSymbol(char *symbolName);
void valueUndefinedSymbol(symbolType *symbol);
void valuem(void);
#endif