Fix underflowing SECTION FRAGMENT fixed address in RGBLINK (#2122)

This commit is contained in:
Rangi
2026-09-18 22:00:27 -04:00
committed by GitHub
parent 76bba2809b
commit c151450d9f
5 changed files with 30 additions and 0 deletions
+12
View File
@@ -56,6 +56,18 @@ static void checkPieceCompat(Section &target, Section const &other, size_t delta
other.org
);
}
} else if (other.org < delta) {
// Check that `org` did not underflow. Note that it's safe for the above checks to
// use an underflowed value, since their reported errors will still be accurate.
fatalTwoAt(
target,
other,
"Section \"%s\" contains %" PRIu16
" bytes, but is also defined with a lower fixed address $%04" PRIx16,
target.name.c_str(),
target.size,
other.org
);
}
target.isAddressFixed = true;