- 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
This commit is contained in:
Alexey Dokuchaev
2017-12-30 10:40:38 +00:00
parent 37079e1d49
commit 514b949913
2 changed files with 16 additions and 6 deletions
+1 -6
View File
@@ -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 <bsd.port.mk>
+15
View File
@@ -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