From: Michael Tautschnig <mt@debian.org>
Date: Sat, 14 Feb 2015 12:01:50 +0000
Subject: Enforce extern inline behaviour, enable hardening

Add -std=gnu89 to GCC's command line to enforce extern inline behaviour with
GCC 5.

Also enable hardening build flags

Forwarded: no
Bug-Debian: https://bugs.debian.org/777807
---
 Makefile.common       | 6 ++++++
 util/Makefile         | 2 +-
 util/dll-src/Makefile | 6 +++---
 util/dll-src/loader.c | 2 +-
 util/firmdl/Makefile  | 4 ++--
 util/firmdl/firmdl.c  | 2 +-
 6 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/Makefile.common b/Makefile.common
index 6f988c8..765c0e0 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -75,8 +75,14 @@ ifdef BUILDING_HOST_UTILS
 #   defines for build of native compiled utilities
 # ----------------------------------------------------------------------------
 
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+CFLAGS += -std=gnu89
 CFLAGS+=-O2 -Wall
 
+
 else  # ifndef BUILDING_HOST_UTILS
 
 # ----------------------------------------------------------------------------
diff --git a/util/Makefile b/util/Makefile
index 8b0f838..49dee51 100644
--- a/util/Makefile
+++ b/util/Makefile
@@ -33,7 +33,7 @@ strip::
 
 # build our one local program
 fontdesign$(EXT):	fontdesign.c
-	$(CC) -o $@ $< $(CFLAGS)
+	$(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
 
 install:: install-stamp
 
diff --git a/util/dll-src/Makefile b/util/dll-src/Makefile
index 2cf868c..71b5357 100644
--- a/util/dll-src/Makefile
+++ b/util/dll-src/Makefile
@@ -71,10 +71,10 @@ uninstall:
 	rm -f install-stamp $(mandir)/man1/$(MAN1) $(bindir)/$(EXE1)
 
 $(TARGET1):  $(OBJS1)
-	$(CC) -o $@ $(OBJS1) $(LIBS) $(CFLAGS)
+	$(CC) -o $@ $(OBJS1) $(LIBS) $(CFLAGS) $(LDFLAGS)
 
 $(TARGET2):  $(OBJS2)
-	$(CC) -o $@ $(OBJS2) $(LIBS) $(CFLAGS)
+	$(CC) -o $@ $(OBJS2) $(LIBS) $(CFLAGS) $(LDFLAGS)
 
 %.o: %.c
 	$(CC) -o $@ -c $< $(CFLAGS)
@@ -83,7 +83,7 @@ $(TARGET2):  $(OBJS2)
 	$(CC) -o $@ -c $< $(CFLAGS)
 
 ../%$(EXT): %.c
-	$(CC) -o $@ $< $(CFLAGS)
+	$(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
 
 # remove debug symbols
 strip:
diff --git a/util/dll-src/loader.c b/util/dll-src/loader.c
index 01ae61b..d18ca0d 100644
--- a/util/dll-src/loader.c
+++ b/util/dll-src/loader.c
@@ -469,7 +469,7 @@ int main(int argc, char **argv) {
 	;
 
 	fprintf(stderr, "usage: %s [options] [command | file.lx]\n", argv[0]);
-	fprintf(stderr, usage_string);
+	fputs(usage_string, stderr);
 
     return -1;
   }
diff --git a/util/firmdl/Makefile b/util/firmdl/Makefile
index 06e3ad2..56359a4 100644
--- a/util/firmdl/Makefile
+++ b/util/firmdl/Makefile
@@ -18,10 +18,10 @@ all:: fastdl.h $(ALL_TARGETS)
 	@# nothing to do here but do it silently
 
 $(MKIMG): mkimg.o srec.o
-	$(CC) $^ -o $@ $(CFLAGS)
+	$(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS)
 
 ../$(FIRMDL3): firmdl.o srec.o rcx_comm.o
-	$(CC) $^ -o $@ $(CFLAGS)
+	$(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS)
 
 fastdl.h: $(MKIMG) fastdl.srec
 	./$(MKIMG) fastdl.srec > $@
diff --git a/util/firmdl/firmdl.c b/util/firmdl/firmdl.c
index 3fb5274..042cf77 100644
--- a/util/firmdl/firmdl.c
+++ b/util/firmdl/firmdl.c
@@ -396,7 +396,7 @@ int main (int argc, char **argv)
 	    ;
 
 	fprintf(stderr, "usage: %s [options] filename\n", progname);
-	fprintf(stderr, usage_string);
+	fputs(usage_string, stderr);
 	exit(1);
     }
 
