crt files and statically linked libgcc objects cause false positives in annobin coverage, so we add the assembler flag to generate notes for them. The patch also adds notes to libgcc_s.so, but this is harmless because these notes only confer that there is no other annobin markup. 2018-07-25 Florian Weimer * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add -Wa,--generate-missing-build-notes=yes. --- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100 +++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200 @@ -247,6 +247,7 @@ LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \ -fbuilding-libgcc -fno-stack-protector \ + -Wa,--generate-missing-build-notes=yes \ $(INHIBIT_LIBC_CFLAGS) # Additional options to use when compiling libgcc2.a. @@ -302,6 +303,7 @@ $(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ -fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \ + -Wa,--generate-missing-build-notes=yes \ $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY) # Extra flags to use when compiling crt{begin,end}.o.