Skip to content

Commit

Permalink
Avoid using %# printf specifier
Browse files Browse the repository at this point in the history
  • Loading branch information
Rangi42 committed Nov 2, 2023
1 parent 496d6d6 commit ea972b9
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 21 deletions.
2 changes: 1 addition & 1 deletion contrib/gbdiff.bash
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ diff <(xxd "$1") <(xxd "$2") | while read -r LINE; do
while read -r SYMADDR SYM; do
SYMADDR=$((0x${SYMADDR#*:}))
if [[ $SYMADDR -le $ADDR ]]; then
printf " (%s+%#x)\n" "$SYM" $((ADDR - SYMADDR))
printf " (%s+0x%x)\n" "$SYM" $((ADDR - SYMADDR))
fi
# TODO: assumes sorted sym files
done | tail -n 1
Expand Down
4 changes: 2 additions & 2 deletions src/asm/section.c
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,8 @@ static struct Section *getSection(char const *name, enum SectionType type, uint3

if (org != (uint32_t)-1) {
if (org < sectionTypeInfo[type].startAddr || org > endaddr(type))
error("Section \"%s\"'s fixed address %#" PRIx32
" is outside of range [%#" PRIx16 "; %#" PRIx16 "]\n",
error("Section \"%s\"'s fixed address $%04" PRIx32
" is outside of range [$%04" PRIx16 "; $%04" PRIx16 "]\n",
name, org, sectionTypeInfo[type].startAddr, endaddr(type));
}

Expand Down
4 changes: 2 additions & 2 deletions src/fix/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -969,7 +969,7 @@ static void processFile(int input, int output, char const *name, off_t fileSize)
overwriteByte(rom0, 0x14B, oldLicensee, "old licensee code");
else if (sgb && rom0[0x14B] != 0x33)
fprintf(stderr,
"warning: SGB compatibility enabled, but old licensee was %#x, not 0x33\n",
"warning: SGB compatibility enabled, but old licensee was 0x%02x, not 0x33\n",
rom0[0x14B]);

if (romVersion != UNSPECIFIED)
Expand Down Expand Up @@ -1440,7 +1440,7 @@ do { \

if (sgb && oldLicensee != UNSPECIFIED && oldLicensee != 0x33)
fprintf(stderr,
"warning: SGB compatibility enabled, but old licensee is %#x, not 0x33\n",
"warning: SGB compatibility enabled, but old licensee is 0x%02x, not 0x33\n",
oldLicensee);

argv += musl_optind;
Expand Down
2 changes: 1 addition & 1 deletion src/link/patch.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ static void applyFilePatches(struct Section *section, struct Section *dataSectio
if (!isError && (value < types[patch->type].min
|| value > types[patch->type].max))
error(patch->src, patch->lineNo,
"Value %#" PRIx32 "%s is not %u-bit",
"Value %" PRId32 "%s is not %u-bit",
value, value < 0 ? " (maybe negative?)" : "",
types[patch->type].size * 8U);
for (uint8_t i = 0; i < types[patch->type].size; i++) {
Expand Down
15 changes: 8 additions & 7 deletions src/link/section.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,9 @@ static void doSanityChecks(struct Section *section, void *ptr)

// Check if section has a chance to be placed
if (section->size > sectionTypeInfo[section->type].size)
error(NULL, 0, "Section \"%s\" is bigger than the max size for that type: %#" PRIx16 " > %#" PRIx16,
section->name, section->size, sectionTypeInfo[section->type].size);
error(NULL, 0, "Section \"%s\" is bigger than the max size for that type: $%"
PRIx16 " > $%" PRIx16,
section->name, section->size, sectionTypeInfo[section->type].size);

// Translate loose constraints to strong ones when they're equivalent

Expand All @@ -296,14 +297,14 @@ static void doSanityChecks(struct Section *section, void *ptr)
// Ensure the target address is valid
if (section->org < sectionTypeInfo[section->type].startAddr
|| section->org > endaddr(section->type))
error(NULL, 0, "Section \"%s\"'s fixed address %#" PRIx16 " is outside of range [%#"
PRIx16 "; %#" PRIx16 "]", section->name, section->org,
error(NULL, 0, "Section \"%s\"'s fixed address $%04" PRIx16 " is outside of range [$%04"
PRIx16 "; $%04" PRIx16 "]", section->name, section->org,
sectionTypeInfo[section->type].startAddr, endaddr(section->type));

if (section->org + section->size > endaddr(section->type) + 1)
error(NULL, 0, "Section \"%s\"'s end address %#x is greater than last address %#x",
section->name, section->org + section->size,
endaddr(section->type) + 1);
error(NULL, 0, "Section \"%s\"'s end address $%04x is greater than last address $%04x",
section->name, section->org + section->size,
endaddr(section->type) + 1);
}

#undef fail
Expand Down
14 changes: 7 additions & 7 deletions test/asm/fixed-oob.err
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
error: fixed-oob.asm(1):
Section "ROM0"'s fixed address 0xbabe is outside of range [0; 0x7fff]
Section "ROM0"'s fixed address $babe is outside of range [$0000; $7fff]
error: fixed-oob.asm(3):
Section "ROMX"'s fixed address 0xbeef is outside of range [0x4000; 0x7fff]
Section "ROMX"'s fixed address $beef is outside of range [$4000; $7fff]
error: fixed-oob.asm(5):
Section "VRAM"'s fixed address 0xc0de is outside of range [0x8000; 0x9fff]
Section "VRAM"'s fixed address $c0de is outside of range [$8000; $9fff]
error: fixed-oob.asm(7):
Section "SRAM"'s fixed address 0xcafe is outside of range [0xa000; 0xbfff]
Section "SRAM"'s fixed address $cafe is outside of range [$a000; $bfff]
error: fixed-oob.asm(11):
Section "WRAMX"'s fixed address 0xdad is outside of range [0xd000; 0xdfff]
Section "WRAMX"'s fixed address $0dad is outside of range [$d000; $dfff]
error: fixed-oob.asm(13):
Section "OAM"'s fixed address 0xcab is outside of range [0xfe00; 0xfe9f]
Section "OAM"'s fixed address $0cab is outside of range [$fe00; $fe9f]
error: fixed-oob.asm(15):
Section "HRAM"'s fixed address 0xbad is outside of range [0xff80; 0xfffe]
Section "HRAM"'s fixed address $0bad is outside of range [$ff80; $fffe]
error: Assembly aborted (7 errors)!
2 changes: 1 addition & 1 deletion test/link/rom0-tiny-no-t.out
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
error: Section "rom" is bigger than the max size for that type: 0x8000 > 0x4000
error: Section "rom" is bigger than the max size for that type: $8000 > $4000
Linking failed with 1 error

0 comments on commit ea972b9

Please sign in to comment.