This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[patch] RS/6000 fixes
- To: binutils at sources dot redhat dot com
- Subject: [patch] RS/6000 fixes
- From: Hidvegi <hzoli at austin dot ibm dot com>
- Date: Thu, 8 Feb 2001 16:00:01 -0600 (CST)
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 } },