PA specifies invalid T_ADAFLAGS

John David Anglin dave@hiauly1.hia.nrc.ca
Fri Apr 26 11:27:00 GMT 2002


> Actually OSF puts the same value in all the space registers.  I don't
> recall what BSD did.  Not that it matters, I don't believe anyone is
> still running the UofU BSD or OSF1 ports.

Here is a first cut at a patch.  This version is for 3.1.  The 3.2
version doesn't need the patch to ada/Make-lang.in.

This patch adds xmake_file defines for the systems that previously defined
T_ADAFLAGS except for linux.  From  your comments, it appears that
the defines are not needed for osf.  There are some older hpux configurations
that probably should have the define but I doubt anybody has built these
recently because they don't include "pa/t-pa" in their tmake_file list.
We probably should delete everything older than 10.

I would like to install on 3.1 since the build problems were introduced
in the Makefile rework done last fall, creating a regression.

I have successfully bootstrapped with ada under hppa1.1-hp-hpux10.20 and
hppa-linux.  The patch should fix the cross compile problem encountered
by Matthew Wilcox.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
	hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
	hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
	hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
	* ada/Make-lang.in (ADA_FLAGS_TO_PASS): Don't pass ADA_CFLAGS.
	* pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
	* pa/x-ada: New file.  Define ADA_CFLAGS.

Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.167.2.15
diff -u -3 -p -r1.167.2.15 config.gcc
--- config.gcc	22 Apr 2002 22:26:05 -0000	1.167.2.15
+++ config.gcc	26 Apr 2002 15:31:17 -0000
@@ -885,11 +885,13 @@ hppa1.1-*-pro*)
 	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
 	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
 	tmake_file="pa/t-bsd pa/t-pro"
+	xmake_file="pa/x-ada"
 	;;
 hppa1.1-*-osf*)
 	target_cpu_default="MASK_PA_11"
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
 	tmake_file="pa/t-bsd pa/t-pa"
+	xmake_file="pa/x-ada"
 	use_collect2=yes
 	;;
 hppa1.1-*-rtems*)
@@ -897,21 +899,25 @@ hppa1.1-*-rtems*)
 	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
 	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h rtems.h"
 	tmake_file="pa/t-bsd pa/t-pro"
+	xmake_file="pa/x-ada"
 	;;
 hppa1.0-*-osf*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
 	tmake_file="pa/t-bsd pa/t-pa"
+	xmake_file="pa/x-ada"
 	use_collect2=yes
 	;;
 hppa1.1-*-bsd*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
 	target_cpu_default="MASK_PA_11"
 	tmake_file="pa/t-bsd pa/t-pa"
+	xmake_file="pa/x-ada"
 	use_collect2=yes
 	;;
 hppa1.0-*-bsd*)
 	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
 	tmake_file="pa/t-bsd pa/t-pa"
+	xmake_file="pa/x-ada"
 	use_collect2=yes
 	;;
 hppa1.0-*-hpux7*)
@@ -965,6 +971,7 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
 	float_format=i128
 	xm_defines=POSIX
 	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+	xmake_file="pa/x-ada"
 	if test x$enable_threads = x; then
 	    enable_threads=$have_pthread_h
 	fi
@@ -981,6 +988,7 @@ hppa1.0-*-hpux10*)
 	float_format=i128
 	xm_defines=POSIX
 	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+	xmake_file="pa/x-ada"
 	if test x$enable_threads = x; then
 	    enable_threads=$have_pthread_h
 	fi
@@ -997,6 +1005,7 @@ hppa*64*-*-hpux11*)
 	tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
 	float_format=i128
 	tmake_file="pa/t-pa64 pa/t-pa-hpux"
+	xmake_file="pa/x-ada"
 	target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
 
 #	if [ x$enable_threads = x ]; then
@@ -1015,6 +1024,7 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
 	float_format=i128
 	xm_defines=POSIX
 	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+	xmake_file="pa/x-ada"
 #	if test x$enable_threads = x; then
 #	    enable_threads=$have_pthread_h
 #	fi
@@ -1030,6 +1040,7 @@ hppa1.0-*-hpux11*)
 	float_format=i128
 	xm_defines=POSIX
 	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+	xmake_file="pa/x-ada"
 #	if test x$enable_threads = x; then
 #	    enable_threads=$have_pthread_h
 #	fi
@@ -1074,6 +1085,7 @@ hppa*-*-lites*)
 	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h"
 	target_cpu_default="MASK_PA_11"
 	tmake_file="pa/t-bsd pa/t-pa"
+	xmake_file="pa/x-ada"
 	use_collect2=yes
 	;;
 hppa*-*-mpeix*)
Index: ada/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Make-lang.in,v
retrieving revision 1.7
diff -u -3 -p -r1.7 Make-lang.in
--- ada/Make-lang.in	29 Nov 2001 16:50:10 -0000	1.7
+++ ada/Make-lang.in	26 Apr 2002 15:31:17 -0000
@@ -55,7 +55,6 @@ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
 THREAD_KIND=native
 GNATBIND = gnatbind
 ADA_FLAGS_TO_PASS = \
-	"ADA_CFLAGS=$(CFLAGS)" \
 	"ADA_FOR_BUILD=$(ADA_FOR_BUILD)" \
 	"ADA_INCLUDE_DIR=$(ADA_INCLUDE_DIR)" \
 	"ADA_RTL_OBJ_DIR=$(ADA_RTL_OBJ_DIR)" \
Index: config/pa/t-linux
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/t-linux,v
retrieving revision 1.5
diff -u -3 -p -r1.5 t-linux
--- config/pa/t-linux	8 Oct 2001 17:58:30 -0000	1.5
+++ config/pa/t-linux	26 Apr 2002 15:31:17 -0000
@@ -14,5 +14,3 @@ CRTSTUFF_T_CFLAGS_S = -fPIC
 
 # Compile libgcc2.a as PIC.
 TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1
-
-T_ADAFLAGS=-mdisable-indexing
Index: config/pa/t-pa
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/t-pa,v
retrieving revision 1.11
diff -u -3 -p -r1.11 t-pa
--- config/pa/t-pa	16 Feb 2002 22:30:35 -0000	1.11
+++ config/pa/t-pa	26 Apr 2002 15:31:17 -0000
@@ -1,4 +1,3 @@
-T_ADAFLAGS=-mdisable-indexing
 LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c
 
 lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
Index: config/pa/t-pa64
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/t-pa64,v
retrieving revision 1.4
diff -u -3 -p -r1.4 t-pa64
--- config/pa/t-pa64	8 Oct 2001 17:58:30 -0000	1.4
+++ config/pa/t-pa64	26 Apr 2002 15:31:17 -0000
@@ -2,7 +2,6 @@ LIB1ASMFUNCS =  _divI _divU _remI _remU 
 LIB1ASMSRC = pa/milli64.S
 TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1
 
-T_ADAFLAGS=-mdisable-indexing
 LIB2FUNCS_EXTRA=quadlib.c
 
 # We'll need this once .init sections are enabled on PA64.
Index: config/pa/t-pro
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/t-pro,v
retrieving revision 1.8
diff -u -3 -p -r1.8 t-pro
--- config/pa/t-pro	16 Feb 2002 22:30:35 -0000	1.8
+++ config/pa/t-pro	26 Apr 2002 15:31:17 -0000
@@ -1,5 +1,3 @@
-T_ADAFLAGS=-mdisable-indexing
-
 LIB2FUNCS_EXTRA=lib2funcs.asm 
 
 # We want fine grained libraries, so use the new code to build the
--- /dev/null	Fri Apr 26 09:36:29 2002
+++ config/pa/x-ada	Fri Apr 26 09:56:45 2002
@@ -0,0 +1,4 @@
+# The ada virtual array implementation requires that indexing be disabled on
+# hosts such as hpux that use a segmented memory architecture.  Both the c
+# and ada files need to be compiled with this option for correct operation.
+ADA_CFLAGS=-mdisable-indexing



More information about the Gcc-patches mailing list