Blob Blame History Raw
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  <fweimer@redhat.com>

	* 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
@@ -244,6 +244,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.
@@ -297,6 +298,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)
 
 # Extra flags to use when compiling crt{begin,end}.o.