compile something with --debug switch. when linking those files, linker may report "invalid symbol type" or other errors because of garbage in the label names.
for example:
for some "ISO.c" file i get those label names in ISO.rel:
S A$ISO.c\ISO.c$991 Def02F1
S A$ISO.c\ISO.c$982 Def02E7
S A$ISO.c\ISO.c$973 Def02DE
and for some "effects.c" file;
S A$effects.cects.c$200 Def00A1
S A$effects.cects.c$300 Def0109
S A$effects.cects.c$201 Def00A2
that "\ISO.c" and "ects.c" seem to be garbage in the name buffer.
in some cases you may get garbaged names even with some unprintable characters!
version:
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.0.2 #11683 (MINGW64)
Possibly fixed with revision [r11693]. It at least fixes what I can reproduce, but I can't find the situation that generates unprintable characters. Please check tomorrow's snapshot (or a later snapshot) and let me know if it has been fixed or if the problem remains.
unprintable chars appear under windows, when you use default temp folder which is located somewhere in the user profile and username which is a part of the path contains unicode, if it cuts it at some strange point, so we have. that is the same length issue that you fixed, i guess. i'll check when the snapshot is ready.
Last edit: Tony Pavlov 2020-06-28
yes, everything is fine! please, have a look at this too: https://sourceforge.net/p/sdcc/bugs/3004/
thank you!