Add info message, if object cannot be placed by linker
This commit is contained in:
parent
ce5be92225
commit
431c5d3282
|
@ -21,6 +21,7 @@ enum ErrorID
|
||||||
EINFO_EXPANDED = 1001,
|
EINFO_EXPANDED = 1001,
|
||||||
EINFO_ORIGINAL_DEFINITION = 1002,
|
EINFO_ORIGINAL_DEFINITION = 1002,
|
||||||
EINFO_CALLED_FROM = 1003,
|
EINFO_CALLED_FROM = 1003,
|
||||||
|
EINFO_SIZE = 1004,
|
||||||
|
|
||||||
EWARN_GENERIC = 2000,
|
EWARN_GENERIC = 2000,
|
||||||
EWARN_CONSTANT_TRUNCATED,
|
EWARN_CONSTANT_TRUNCATED,
|
||||||
|
|
|
@ -802,7 +802,22 @@ void Linker::CopyObjects(bool inlays)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!obj->mRegion)
|
if (!obj->mRegion)
|
||||||
|
{
|
||||||
mErrors->Error(obj->mLocation, ERRR_INSUFFICIENT_MEMORY, "Could not place object", obj->mIdent);
|
mErrors->Error(obj->mLocation, ERRR_INSUFFICIENT_MEMORY, "Could not place object", obj->mIdent);
|
||||||
|
|
||||||
|
int avail = 0;
|
||||||
|
for (int i = 0; i < mRegions.Size(); i++)
|
||||||
|
{
|
||||||
|
if (mRegions[i]->mSections.Contains(obj->mSection))
|
||||||
|
{
|
||||||
|
if (mRegions[i]->mEnd - mRegions[i]->mStart - mRegions[i]->mUsed > avail)
|
||||||
|
avail = mRegions[i]->mEnd - mRegions[i]->mStart - mRegions[i]->mUsed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
char buffer[200];
|
||||||
|
sprintf_s(buffer, "Size %d Available %d in section", obj->mSize, avail);
|
||||||
|
mErrors->Error(obj->mLocation, EINFO_SIZE, buffer, obj->mSection->mIdent);
|
||||||
|
}
|
||||||
else if (obj->mRegion->mInlayObject)
|
else if (obj->mRegion->mInlayObject)
|
||||||
;
|
;
|
||||||
else if (obj->mRegion && obj->mRegion->mCartridgeBanks != 0)
|
else if (obj->mRegion && obj->mRegion->mCartridgeBanks != 0)
|
||||||
|
|
Loading…
Reference in New Issue