Hi, I get some odd symbol types when using gcc-nm on an lto file. Given the source file void text(void) {} int data = 1; int bss = 0; int common; gcc -c test.c && gcc-nm test.o: 0000000000000000 B bss 0000000000000004 C common 0000000000000000 D data 0000000000000000 T text gcc -flto -c test.c && gcc-nm test.o: 00000000 T bss 00000000 C common 00000000 T data 00000000 T text gcc -flto -fno-common -c test.c && gcc-nm test.o: 00000000 T bss 00000000 T common 00000000 T data 00000000 T text i.e. with LTO, .bss and .data symbols are shown as text symbols instead by gcc-nm. This causes issues with configure scripts that use libtool when the CFLAGS contain both -flto and -fno-common. There's a section in the configure script that tries to figure out how to parse nm's output. It compiles a source file that contains a common symbol and a function, then parses nm output to create a second .c file with those declarations, and tries to check that everything is working by linking them together. In the -flto -fno-common case, the second file ends up with both symbols turning into functions which then gives a link-time error.