This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Fix to glibc compilation problem



Hi
This patch fixes problem reported bz Urlich on glibc compilation that did
use %3 output template to print DImode register, that got handled as
x86_64 on ia-32. The patch restores old behaviour of silently outputting SImode
register name.

Tue Mar 27 16:07:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
	* i386.c (print_reg): Do not print x86_64 style regs on IA-32
Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.c,v
retrieving revision 1.243
diff -c -3 -p -r1.243 i386.c
*** i386.c	2001/03/26 12:36:34	1.243
--- i386.c	2001/03/27 14:06:41
*************** print_reg (x, code, file)
*** 3745,3750 ****
--- 3745,3752 ----
       from the normal registers.  */
    if (REX_INT_REG_P (x))
      {
+       if (!TARGET_64BIT)
+ 	abort ();
        switch (code)
  	{
  	  case 5:
*************** print_reg (x, code, file)
*** 3784,3790 ****
      case 4:
      case 12:
        if (! ANY_FP_REG_P (x))
! 	putc (code == 8 ? 'r' : 'e', file);
        /* FALLTHRU */
      case 16:
      case 2:
--- 3786,3792 ----
      case 4:
      case 12:
        if (! ANY_FP_REG_P (x))
! 	putc (code == 8 && TARGET_64BIT ? 'r' : 'e', file);
        /* FALLTHRU */
      case 16:
      case 2:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]