Am 19.06.20 um 13:17 schrieb Basil Hussain: > >> I listed the contents of the stm8-large .lib file (with sdar -t), and >> indeed there are two entries for strcmp and strcpy. > > I figured out what was wrong. When the library is built, when it invokes > sdar to make the .lib file, it only tells it to *add/replace* files. So > that meant the old strcmp/strcpy routines were still in it from a > previous build, because they have slightly differing filenames between > the C and assembly implementations (one with underscore prefix, one > without). > > When I deleted the .lib file and ran make again, all was right, because > sdar had to recreate the file. > > What was puzzling was that even doing a "make clean" didn't solve the > problem, because for some reason that doesn't delete the end-product of > the build, the .lib file, like one might expect it to.
AFAIR, that depends on where you run the "make clean". I think a top-level "make clean" will delete all the .lib files, but a "make clean" in device/lib/stm8-large only deletes the .rel files in there, not the .lib in device/lib/build/stm8-large _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user