[patch] RS/6000 fixes

Hidvegi hzoli@austin.ibm.com
Thu Feb 8 14:00:00 GMT 2001


The patch below fixes the following:

config.gues: recognize POWER3 (630) as PowerPC instead of POWER (rs6000)
config.bfd: enable coff64 for rs6000-aix-*.  This is just like coff64
            is enabled even if the build host is 32-bit only.
ppc-opc.c: crset/crclr/crmove/crnot should work in power mode.
           gcc -mpower generates these.  I've submitted a patch for
           this about a week ago but there was no response.

Zoli

 Index: config.guess
 ===================================================================
 RCS file: /cvs/src/src/config.guess,v
 retrieving revision 1.9
 diff -c -r1.9 config.guess
 *** config.guess	2001/02/04 18:17:30	1.9
 --- config.guess	2001/02/08 21:40:04
 ***************
 *** 490,500 ****
 	 exit 0 ;;
       *:AIX:*:4)
 	 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
 ! 	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
 ! 		IBM_ARCH=rs6000
 ! 	else
 ! 		IBM_ARCH=powerpc
 ! 	fi
 	 if [ -x /usr/bin/oslevel ] ; then
 		 IBM_REV=`/usr/bin/oslevel`
 	 else
 --- 490,500 ----
 	 exit 0 ;;
       *:AIX:*:4)
 	 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
 ! 	case "`/usr/sbin/lsattr -EHl ${IBM_CPU_ID}`" in
 ! 	    *POWER[3-9]*) IBM_ARCH=powerpc ;;
 ! 	    *POWER*)      IBM_ARCH=rs6000  ;;
 ! 	    *)		  IBM_ARCH=powerpc ;;
 ! 	esac
 	 if [ -x /usr/bin/oslevel ] ; then
 		 IBM_REV=`/usr/bin/oslevel`
 	 else
 Index: bfd/config.bfd
 ===================================================================
 RCS file: /cvs/src/src/bfd/config.bfd,v
 retrieving revision 1.48
 diff -c -r1.48 config.bfd
 *** config.bfd	2001/01/14 11:12:52	1.48
 --- config.bfd	2001/02/08 21:40:05
 ***************
 *** 689,695 ****
       targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
       ;;
   
 !   powerpc-*-aix* | powerpc-*-beos*)
       targ_defvec=rs6000coff_vec
       targ_selvecs="rs6000coff64_vec"
       ;;
 --- 689,695 ----
       targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
       ;;
   
 !   powerpc-*-aix* | rs6000-*-aix* | powerpc-*-beos*)
       targ_defvec=rs6000coff_vec
       targ_selvecs="rs6000coff64_vec"
       ;;
 Index: opcodes/ppc-opc.c
 ===================================================================
 RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
 retrieving revision 1.9
 diff -c -r1.9 ppc-opc.c
 *** ppc-opc.c	2000/08/31 06:48:49	1.9
 --- ppc-opc.c	2001/02/08 21:40:09
 ***************
 *** 2124,2130 ****
   
   { "rfid",    XL(19,18),	0xffffffff,	PPC64,		{ 0 } },
   
 ! { "crnot",   XL(19,33), XL_MASK,	PPCCOM,		{ BT, BA, BBA } },
   { "crnor",   XL(19,33),	XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "rfi",     XL(19,50),	0xffffffff,	COM,		{ 0 } },
 --- 2124,2130 ----
   
   { "rfid",    XL(19,18),	0xffffffff,	PPC64,		{ 0 } },
   
 ! { "crnot",   XL(19,33), XL_MASK,	COM,		{ BT, BA, BBA } },
   { "crnor",   XL(19,33),	XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "rfi",     XL(19,50),	0xffffffff,	COM,		{ 0 } },
 ***************
 *** 2137,2155 ****
   { "isync",   XL(19,150), 0xffffffff,	PPCCOM,		{ 0 } },
   { "ics",     XL(19,150), 0xffffffff,	PWRCOM,		{ 0 } },
   
 ! { "crclr",   XL(19,193), XL_MASK,	PPCCOM,		{ BT, BAT, BBA } },
   { "crxor",   XL(19,193), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crnand",  XL(19,225), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crand",   XL(19,257), XL_MASK,	COM,		{ BT, BA, BB } },
   
 ! { "crset",   XL(19,289), XL_MASK,	PPCCOM,		{ BT, BAT, BBA } },
   { "creqv",   XL(19,289), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crorc",   XL(19,417), XL_MASK,	COM,		{ BT, BA, BB } },
   
 ! { "crmove",  XL(19,449), XL_MASK,	PPCCOM,		{ BT, BA, BBA } },
   { "cror",    XL(19,449), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "bctr",    XLO(19,BOU,528,0), XLBOBIBB_MASK, COM,	{ 0 } },
 --- 2137,2155 ----
   { "isync",   XL(19,150), 0xffffffff,	PPCCOM,		{ 0 } },
   { "ics",     XL(19,150), 0xffffffff,	PWRCOM,		{ 0 } },
   
 ! { "crclr",   XL(19,193), XL_MASK,	COM,		{ BT, BAT, BBA } },
   { "crxor",   XL(19,193), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crnand",  XL(19,225), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crand",   XL(19,257), XL_MASK,	COM,		{ BT, BA, BB } },
   
 ! { "crset",   XL(19,289), XL_MASK,	COM,		{ BT, BAT, BBA } },
   { "creqv",   XL(19,289), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "crorc",   XL(19,417), XL_MASK,	COM,		{ BT, BA, BB } },
   
 ! { "crmove",  XL(19,449), XL_MASK,	COM,		{ BT, BA, BBA } },
   { "cror",    XL(19,449), XL_MASK,	COM,		{ BT, BA, BB } },
   
   { "bctr",    XLO(19,BOU,528,0), XLBOBIBB_MASK, COM,	{ 0 } },


More information about the Binutils mailing list