Take the 2-minute tour ×  I'm working on a bare-metal cortex-M3
in C++ for fun and profit.  Lately I decided to try and use the
STL library as I needed some containers. I thought that by
simply providing my allocator it wouldn't add much code to the
final binary, since you get only what you use. I actually didn't
even expect any linking process at all with the STL (giving my
allocator), as I thought it was all template code.  I am
compiling with -fno-exception by the way.  Unfortunately, about
600KB or more are added to my binary. I looked up what symbols
are included in the final binary with nm and it seemed a joke to
me. The list is so long I won't try and past it. Although there
are some weak symbols.  I also looked in the .map file generated
by the linker and I even found the scanf symbols  .text
0x000158bc       0x30   /CodeSourcery/Sourcery_CodeBench_Lite_fo
r_ARM_GNU_Linux/bin/../arm-none-linux-
gnueabi/libc/usr/lib/libc.a(sscanf.o)¶             0x000158bc
__sscanf¶             0x