Package: src:gcc-7 Followup-For: Bug #863289 Control: tags -1 + patch
The attached commit reverts any dpkg-buildflags handling from the Ada patches. The right way for the build to receive flags is *FLAGS_FOR_TARGET.
--- a/debian/patches/ada-gnattools-cross.diff +++ b/debian/patches/ada-gnattools-cross.diff @@ -13,9 +13,6 @@ * Create libgnat-BV.so symbolic link, use it and -L to link libgnarl. This prevents undefined symbols or unwanted usage of host libgnat. * Compile with -gnatn, link with --as-needed -z defs. -* Force addition of the build flags from dpkg-buildflags. - One day they may be transmitted via *FLAGS_FOR_TARGET, - but at least this allows to set noopt for the Ada components. * set LD_LIBRARY_PATH so that rebuilt tools can be executed. This patch depends on ada-libgnatvsn.diff. @@ -225,7 +222,7 @@ Index: b/src/gnattools/Makefile.in =================================================================== --- a/src/gnattools/Makefile.in +++ b/src/gnattools/Makefile.in -@@ -75,15 +75,24 @@ +@@ -75,15 +75,21 @@ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs # Variables for gnattools, native @@ -237,11 +234,8 @@ Index: b/src/gnattools/Makefile.in "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ - "LDFLAGS=$(LDFLAGS)" \ - "ADAFLAGS=$(ADAFLAGS)" \ -+ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs \ -+ $(shell dpkg-buildflags --get LDFLAGS)" \ -+ "ADAFLAGS=$(ADAFLAGS) -gnatn \ -+ $(filter-out -Wformat -Werror=format-security, \ -+ $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS)))" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \ ++ "ADAFLAGS=$(ADAFLAGS) -gnatn" \ "ADA_CFLAGS=$(ADA_CFLAGS)" \ "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \ - "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\ --- a/debian/patches/ada-libgnatvsn.diff +++ b/debian/patches/ada-libgnatvsn.diff @@ -46,7 +46,7 @@ +} | tee -a config.log --- /dev/null +++ b/src/libgnatvsn/Makefile.in -@@ -0,0 +1,156 @@ +@@ -0,0 +1,150 @@ +# Makefile for libgnatvsn. +# Copyright (c) 2006 Ludovic Brenta <ludo...@ludovic-brenta.org> +# Copyright (c) 2017 Nicolas Boulenguez <nico...@debian.org> @@ -126,12 +126,6 @@ +cppflags += $(CPPFLAGS) +ldflags += $(LDFLAGS) + -+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS)) -+adaflags += $(filter-out -Wformat -Werror=format-security,$(deb_cflags)) -+cflags += $(deb_cflags) -+cppflags += $(shell dpkg-buildflags --get CPPFLAGS) -+ldflags += $(shell dpkg-buildflags --get LDFLAGS) -+ +# Link wanted Ada sources from source tree, so that gnat fails when new +# dependencies are missing in the current directory, instead of silently +# using the ones in the distant directory. --- a/debian/patches/ada-link-lib.diff +++ b/debian/patches/ada-link-lib.diff @@ -61,29 +61,19 @@ -fexceptions -DIN_RTS @have_getipinfo@ host_subdir = @host_subdir@ -@@ -78,14 +78,19 @@ - # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus - # definitions just in case something slips through the safety net provided +@@ -78,10 +78,10 @@ # by recursive make invocations in gcc/ada/Makefile.in -+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS)) LIBADA_FLAGS_TO_PASS = \ "MAKEOVERRIDES=" \ - "LDFLAGS=$(LDFLAGS)" \ -+ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs \ -+ $(shell dpkg-buildflags --get LDFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \ "LN_S=$(LN_S)" \ "SHELL=$(SHELL)" \ - "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ -+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn \ -+ $(filter-out -Wformat -Werror=format-security,$(deb_cflags))" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ -+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) \ -+ $(deb_cflags) \ -+ $(shell dpkg-buildflags --get CPPFLAGS)" \ + "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ "PICFLAG_FOR_TARGET=$(PICFLAG)" \ - "THREAD_KIND=$(THREAD_KIND)" \ - "TRACE=$(TRACE)" \ @@ -122,7 +122,7 @@ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons @@ -163,14 +153,12 @@ # these tools are built using the target libraries, and are intended to --- a/src/gcc/ada/gcc-interface/Make-lang.in +++ b/src/gcc/ada/gcc-interface/Make-lang.in -@@ -45,7 +45,9 @@ +@@ -45,7 +45,7 @@ # Extra flags to pass to recursive makes. -COMMON_ADAFLAGS= -gnatpg -+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS)) -+COMMON_ADAFLAGS= -gnatpgn \ -+ $(filter-out -Wformat -Werror=format-security,$(deb_cflags)) ++COMMON_ADAFLAGS= -gnatpgn ifeq ($(TREECHECKING),) CHECKING_ADAFLAGS= else @@ -186,23 +174,12 @@ ALL_ADAFLAGS = \ $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) $(CHECKING_ADAFLAGS) $(WARN_ADAFLAGS) -@@ -98,7 +98,8 @@ - ada/adaint.o-warn = -Wno-error - - ada/%.o: ada/gcc-interface/%.c -- $(COMPILE) $< -+ $(COMPILE) $< \ -+ $(deb_cflags) $(shell dpkg-buildflags --get CPPFLAGS) - $(POSTCOMPILE) - - # Function that dumps the dependencies of an Ada object file by parsing the -@@ -211,7 +211,8 @@ +@@ -211,7 +211,7 @@ endif # Strip -Werror during linking for the LTO bootstrap -GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -+GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs \ -+ $(shell dpkg-buildflags --get LDFLAGS) ++GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS)