From f9dd97d8274b8cc4b9a86b5a95a6f906001f2a9d Mon Sep 17 00:00:00 2001 From: Max Horn Date: Wed, 22 Feb 2017 20:07:22 +0100 Subject: [PATCH] Remove Itanium support --- cnf/Makefile | 8 ++--- cnf/Makegap.bottom | 3 -- cnf/Makegap.in | 13 +++----- cnf/Makegap.top | 2 -- cnf/config.hin | 3 -- cnf/configure.in | 5 --- cnf/configure.out | 16 +--------- cnf/gac.in | 3 +- src/gasman.c | 22 -------------- src/itanium.s | 76 ---------------------------------------------- 10 files changed, 10 insertions(+), 141 deletions(-) delete mode 100644 src/itanium.s diff --git a/cnf/Makefile b/cnf/Makefile index 9e61f098f9..012d23b119 100644 --- a/cnf/Makefile +++ b/cnf/Makefile @@ -113,14 +113,14 @@ Makegap.in: Makegap.top Makefile Makegap.bottom @echo >> Makegap.in @echo '# compile and link GAP' >> Makegap.in @echo 'ifeq ($$(uname_O),Cygwin)' >> Makegap.in - @echo 'gap: $$(OBJECTS) $$(ITANIUMOBJ)' >> Makegap.in + @echo 'gap: $$(OBJECTS)' >> Makegap.in @echo ' $$(CC) $$(CPPFLAGS) $$(GMP_CFLAGS) $$(CFLAGS) -DCOMPILECYGWINDLL -o gap.o -c ../../src/gap.c' >> Makegap.in - @echo ' $$(CC) $$(LDFLAGS) -o gap.dll -shared $$(OBJECTS) $$(ITANIUMOBJ) -lm -lrt $$(MPILIBS) $$(GMP_LIBS) $$(CONFLIBS)' >> Makegap.in + @echo ' $$(CC) $$(LDFLAGS) -o gap.dll -shared $$(OBJECTS) -lm -lrt $$(MPILIBS) $$(GMP_LIBS) $$(CONFLIBS)' >> Makegap.in @echo ' $$(CC) $$(LDFLAGS) -o gap ../../src/gapw95.c $$(CPPFLAGS) $$(GMP_CFLAGS) $$(CFLAGS) -DCOMPILECYGWINDLL gap.dll' >> Makegap.in @echo >> Makegap.in @echo 'else' >> Makegap.in - @echo 'gap: $$(OBJECTS) $$(ITANIUMOBJ)' >> Makegap.in - @echo ' $$(CC) $$(LDFLAGS) -o gap $$(OBJECTS) $$(ITANIUMOBJ) -lm $$(MPILIBS) $$(GMP_LIBS) $$(CONFLIBS)' >> Makegap.in + @echo 'gap: $$(OBJECTS)' >> Makegap.in + @echo ' $$(CC) $$(LDFLAGS) -o gap $$(OBJECTS) -lm $$(MPILIBS) $$(GMP_LIBS) $$(CONFLIBS)' >> Makegap.in @echo 'endif' >> Makegap.in @echo >> Makegap.in @echo '# dependencies are automatically generated' >> Makegap.in diff --git a/cnf/Makegap.bottom b/cnf/Makegap.bottom index 81f8eda36f..242c93e8b6 100644 --- a/cnf/Makegap.bottom +++ b/cnf/Makegap.bottom @@ -1,6 +1,3 @@ -itanium.o: @srcdir@/itanium.s - $(CC) $(CFLAGS) -o itanium.o -c @srcdir@/itanium.s - gapmpi.o: @srcdir@/system.h @srcdir@/gasman.h @srcdir@/objects.h \ @srcdir@/scanner.h @srcdir@/gap.h @srcdir@/read.h \ @srcdir@/calls.h @srcdir@/gvars.h @srcdir@/bool.h \ diff --git a/cnf/Makegap.in b/cnf/Makegap.in index 9ca6610885..0787448be8 100644 --- a/cnf/Makegap.in +++ b/cnf/Makegap.in @@ -15,8 +15,6 @@ CPPFLAGS=-I. -DCONFIG_H @CPPFLAGS@ LDFLAGS=@LDFLAGS@ $(LOPTS) CC=@CC@ -ITANIUMOBJ=@ITANIUMOBJ@ - # FIXME: What is LIBSOVERRIDE used for? We should either document this here # or elsewhere, or find ways to get rid of it. ifeq "$(LIBSOVERRIDE)" "" @@ -36,14 +34,14 @@ OBJECTS=ariths.o backtrace.o blister.o bool.o c_filt1.o c_meths1.o c_oper1.o c_r # compile and link GAP ifeq ($(uname_O),Cygwin) -gap: $(OBJECTS) $(ITANIUMOBJ) +gap: $(OBJECTS) $(CC) $(CPPFLAGS) $(GMP_CFLAGS) $(CFLAGS) -DCOMPILECYGWINDLL -o gap.o -c ../../src/gap.c - $(CC) $(LDFLAGS) -o gap.dll -shared $(OBJECTS) $(ITANIUMOBJ) -lm -lrt $(MPILIBS) $(GMP_LIBS) $(CONFLIBS) + $(CC) $(LDFLAGS) -o gap.dll -shared $(OBJECTS) -lm -lrt $(MPILIBS) $(GMP_LIBS) $(CONFLIBS) $(CC) $(LDFLAGS) -o gap ../../src/gapw95.c $(CPPFLAGS) $(GMP_CFLAGS) $(CFLAGS) -DCOMPILECYGWINDLL gap.dll else -gap: $(OBJECTS) $(ITANIUMOBJ) - $(CC) $(LDFLAGS) -o gap $(OBJECTS) $(ITANIUMOBJ) -lm $(MPILIBS) $(GMP_LIBS) $(CONFLIBS) +gap: $(OBJECTS) + $(CC) $(LDFLAGS) -o gap $(OBJECTS) -lm $(MPILIBS) $(GMP_LIBS) $(CONFLIBS) endif # dependencies are automatically generated @@ -677,9 +675,6 @@ weakptr.o: ../../Makefile @srcdir@/weakptr.c @srcdir@/system.h config.h @srcdir@ @srcdir@/saveload.h @srcdir@/opers.h @srcdir@/hpc/thread.h @srcdir@/hpc/tls.h $(CC) $(CPPFLAGS) $(GMP_CFLAGS) $(CFLAGS) -o weakptr.o -c @srcdir@/weakptr.c -itanium.o: @srcdir@/itanium.s - $(CC) $(CFLAGS) -o itanium.o -c @srcdir@/itanium.s - gapmpi.o: @srcdir@/system.h @srcdir@/gasman.h @srcdir@/objects.h \ @srcdir@/scanner.h @srcdir@/gap.h @srcdir@/read.h \ @srcdir@/calls.h @srcdir@/gvars.h @srcdir@/bool.h \ diff --git a/cnf/Makegap.top b/cnf/Makegap.top index ea50dc44fa..7b5f135938 100644 --- a/cnf/Makegap.top +++ b/cnf/Makegap.top @@ -14,8 +14,6 @@ CPPFLAGS=-I. -DCONFIG_H @CPPFLAGS@ LDFLAGS=@LDFLAGS@ $(LOPTS) CC=@CC@ -ITANIUMOBJ=@ITANIUMOBJ@ - # FIXME: What is LIBSOVERRIDE used for? We should either document this here # or elsewhere, or find ways to get rid of it. ifeq "$(LIBSOVERRIDE)" "" diff --git a/cnf/config.hin b/cnf/config.hin index a054e51dcb..b4d4de5c03 100644 --- a/cnf/config.hin +++ b/cnf/config.hin @@ -385,9 +385,6 @@ function */ #undef HAVE___BUILTIN_SMUL_OVERFLOW -/* define as 1 on Itanium architecture to flush and mark register stack */ -#undef ITANIUM - /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/cnf/configure.in b/cnf/configure.in index 637259adaf..40e788f324 100644 --- a/cnf/configure.in +++ b/cnf/configure.in @@ -384,12 +384,7 @@ case "$host" in sparc-* ) AC_DEFINE(SPARC, 1, [define as 1 on SPARC architecture to flush register windows]) ;; - ia64-* ) - AC_DEFINE(ITANIUM, 1, [define as 1 on Itanium architecture to flush and mark register stack]) - ITANIUMOBJ=itanium.o - ;; esac -AC_SUBST(ITANIUMOBJ) case "$host_os" in *cygwin*) diff --git a/cnf/configure.out b/cnf/configure.out index 2792fb9132..29a4d4634f 100755 --- a/cnf/configure.out +++ b/cnf/configure.out @@ -628,7 +628,6 @@ ABI_CFLAGS ABI gapbin gp_configure_options -ITANIUMOBJ C_DYNLIBS NM ac_ct_CXX @@ -4173,13 +4172,7 @@ else gp_cv_prog_cc_cdynlinking='-g -bundle -bundle_loader ${gap_bin}/gap'" ${ABI_CFLAGS}";; *cygwin* ) gp_cv_prog_cc_cdynlinking='-shared ${gap_bin}/gap.dll';; - *-gcc ) - gp_cv_prog_cc_cdynlinking="-shared -g ${ABI_CFLAGS}";; - *-clang ) - gp_cv_prog_cc_cdynlinking="-shared -g ${ABI_CFLAGS}";; - *-icc ) - gp_cv_prog_cc_cdynlinking="-shared -g ${ABI_CFLAGS}";; - *-egcs ) + *-gcc | *-clang | *-icc | *-egcs ) gp_cv_prog_cc_cdynlinking="-shared -g ${ABI_CFLAGS}";; *hpux* ) gp_cv_prog_cc_cdynlinking="-b +e Init__Dynamic";; @@ -6851,16 +6844,9 @@ case "$host" in $as_echo "#define SPARC 1" >>confdefs.h - ;; - ia64-* ) - -$as_echo "#define ITANIUM 1" >>confdefs.h - - ITANIUMOBJ=itanium.o ;; esac - case "$host_os" in *cygwin*) diff --git a/cnf/gac.in b/cnf/gac.in index de5861f78c..4398a400fc 100644 --- a/cnf/gac.in +++ b/cnf/gac.in @@ -162,8 +162,7 @@ OBJECTS="\ vecffe.o \ vecgf2.o \ vector.o \ - weakptr.o \ - @ITANIUMOBJ@ + weakptr.o " diff --git a/src/gasman.c b/src/gasman.c index 233547201d..a7d49c5e12 100644 --- a/src/gasman.c +++ b/src/gasman.c @@ -535,17 +535,6 @@ void InitSweepFuncBags ( #endif -#if ITANIUM -extern void * ItaniumRegisterStackTop(); - -static Bag* ItaniumRegisterStackBottom = (Bag *)0; - -static void ItaniumSpecialMarkingInit() { - ItaniumRegisterStackBottom = (Bag *)ItaniumRegisterStackTop(); -} - -#endif - /**************************************************************************** ** *F InitMarkFuncBags(,) . . . . . install marking function @@ -1069,9 +1058,6 @@ void InitBags ( StackFuncBags = stack_func; StackBottomBags = stack_bottom; StackAlignBags = stack_align; -#if ITANIUM - ItaniumSpecialMarkingInit(); -#endif /* first get some storage from the operating system */ initial_size = (initial_size + 511) & ~(511); @@ -1721,14 +1707,6 @@ void GenStackFuncBags ( void ) MARK_BAG( *p ); } } -#if ITANIUM - /* Itanium has two stacks */ - top = ItaniumRegisterStackTop(); - for ( i = 0; i < sizeof(Bag*); i += StackAlignBags ) { - for ( p = (Bag*)((char*)ItaniumRegisterStackBottom + i); p < top; p++ ) - MARK_BAG( *p ); - } -#endif /* mark from registers, dirty dirty hack */ for ( p = (Bag*)((void*)RegsBags); diff --git a/src/itanium.s b/src/itanium.s deleted file mode 100644 index 7bb8a3ef29..0000000000 --- a/src/itanium.s +++ /dev/null @@ -1,76 +0,0 @@ -// mark_description "Intel(R) C++ Compiler for Itanium(R)-based applications"; -// mark_description "Version 8.1 Build 20051006 %s"; -// mark_description "-S"; -.ident "Intel(R) C++ Compiler for Itanium(R)-based applications" -.ident "-S" - //.radix C - .section .text, "xa", "progbits" - .align 32 - .section .data, "wa", "progbits" - .align 16 - .section .bss, "wa", "nobits" - .align 16 - .section .rodata, "a", "progbits" - .align 16 - .section .sdata, "was", "progbits" - .align 16 - .section .sbss, "was", "nobits" - .align 16 - .section .srodata, "as", "progbits" - .align 16 - .section .data1, "wa", "progbits" - .align 16 - .section .sdata1, "was", "progbits" - .align 16 - .section .IA_64.unwind, "ao", "unwind" - .align 4 - .section .IA_64.unwind_info, "a", "progbits" - .align 8 - .file "trial.c" - .section .data - .section .text - .align 64 -// -- Begin ItaniumRegisterStackTop - .proc ItaniumRegisterStackTop# -// Block 0: entry Pred: Succ: 1 -G -// Freq 1.0e+00 - .global ItaniumRegisterStackTop# - -ItaniumRegisterStackTop: - { .mii - flushrs - nop.i 0 - nop.i 0 ;; -} - { .mii - mov r8=ar.bsp //0: 2 2 - nop.i 0 - nop.i 0 ;; -// Block 1: exit Pred: 0 Succ: -GO -// Freq 1.0e+00 - } - { .mib - nop.m 0 - nop.i 0 - br.ret.sptk.many b0 ;; //0: 2 4 - } - .section .IA_64.unwind_info, "a", "progbits" - .align 8 -__udt_ItaniumRegisterStackTop: - data8 0x1000000000001 // length: 8 bytes - // flags: 0x00 - // version: 1 - string "\x60\x03" //R3: prologue size 3 - string "\x61\x03" //R3: body size 3 - string "\x81" //B1: label_state 1 - string "\x00\x00\x00" - .section .IA_64.unwind, "ao", "unwind" - data8 @segrel(ItaniumRegisterStackTop#) - data8 @segrel(ItaniumRegisterStackTop#+0x20) - data8 @segrel(__udt_ItaniumRegisterStackTop) - .section .data - .section .text -// -- End ItaniumRegisterStackTop - .endp ItaniumRegisterStackTop# - .section .data -// End