From 514b949913c33fc239972b93cd6ef3c67c2f8dd1 Mon Sep 17 00:00:00 2001 From: Alexey Dokuchaev Date: Sat, 30 Dec 2017 10:40:38 +0000 Subject: [PATCH] - Unbreak the build on sparc64: gcc was generating assembler code that invoked FdTOx (convert floating point to 64-bit integer) instruction with odd register number as the second argument, while apparently[*] an even number is required: fdtox %f10, %f15 It caused ``Illegal operands'' error when compiling `draw_symbols.c': {standard input}: Assembler messages: {standard input}:2686: Error: Illegal operands {standard input}:2695: Error: Illegal operands {standard input}:2835: Error: Illegal operands {standard input}:2844: Error: Illegal operands {standard input}:2854: Error: Illegal operands {standard input}:2864: Error: Illegal operands Fix the build by forcing -O0 when compiling this file on sparc64. - Remove OPTCFLAGS option which enabled "optimized" CFLAGS ``-O2 -pipe'': these are our default CFLAGS for a long time [*] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56890 --- comms/xastir/Makefile | 7 +------ comms/xastir/files/patch-src_Makefile.in | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 comms/xastir/files/patch-src_Makefile.in diff --git a/comms/xastir/Makefile b/comms/xastir/Makefile index b3f4e6d59deb..82899dbbb5c0 100644 --- a/comms/xastir/Makefile +++ b/comms/xastir/Makefile @@ -24,7 +24,7 @@ SHEBANG_FILES= scripts/*.pl scripts/get-maptools.sh \ SUB_FILES= pkg-message OPTIONS_DEFINE= SHAPELIB DBFAWK MAGICK CURL GEOTIFF GDAL GPSMAN FESTIVAL \ - RTREE ERRORPOP BDB OPTCFLAGS + RTREE ERRORPOP BDB SHAPELIB_DESC= Include Shapelib support DBFAWK_DESC= Include DBFAWK Support @@ -37,7 +37,6 @@ FESTIVAL_DESC= Include Festival Voice Synthesis Support RTREE_DESC= Enable spatial indexing of shapefiles ERRORPOP_DESC= Send error popups to stderr BDB_DESC= Tiger Map Caching using Berkeley DB -OPTCFLAGS_DESC= Use optimized CFLAGS (-O2 -pipe) OPTIONS_DEFAULT= SHAPELIB DBFAWK MAGICK CURL RTREE BDB @@ -71,8 +70,4 @@ ERRORPOP_CONFIGURE_WITH= errorpopups BDB_USES= bdb BDB_CONFIGURE_ON= --with-bdb-incdir=${BDB_INCLUDE_DIR} --with-bdb-libdir=${BDB_LIB_DIR} -OPTCFLAGS_CFLAGS= -O2 -pipe - -BROKEN_sparc64= Does not compile on sparc64 - .include diff --git a/comms/xastir/files/patch-src_Makefile.in b/comms/xastir/files/patch-src_Makefile.in new file mode 100644 index 000000000000..1866382287cc --- /dev/null +++ b/comms/xastir/files/patch-src_Makefile.in @@ -0,0 +1,15 @@ +--- src/Makefile.in.orig 2014-09-12 19:05:57 UTC ++++ src/Makefile.in +@@ -522,6 +522,12 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xa_config.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xastir_udp_client.Po@am__quote@ + ++ifeq ($(host_cpu),sparc64) ++draw_symbols.o: draw_symbols.c ++@am__fastdepCC_TRUE@ $(patsubst -O%,-O0,$(COMPILE)) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++endif ++ + .c.o: + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po