This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch for 32-bit function descriptors in the Assembler



HP-UX uses 8 byte function descriptors at 32-bit mode on IA64, data8 could
be either DIR64 or IPLT.
Can someone review this and check it in to both mainline and 2.12 brand if
it is OK? I don't have write permission to CVS. Thanks.

----
Jessica Han
Open Source Tools
Hewlett-Packard
(408) 447-6154


2002-04-01 Jessica Han <jessica@cup.hp.com>
	* config/tc-ia64.c Handle 8 byte iplt reloc at 32-bit mode.

*** tc-ia64.c.1.64.2.1	Mon Apr  1 13:26:53 2002
--- tc-ia64.c	Mon Apr  1 13:18:19 2002
*************** ia64_cons_fix_new (f, where, nbytes, exp
*** 9982,9992 ****
        break;

      case 8:
!       if (target_big_endian)
! 	code = BFD_RELOC_IA64_DIR64MSB;
!       else
! 	code = BFD_RELOC_IA64_DIR64LSB;
!       break;

      case 16:
        if (exp->X_op == O_pseudo_fixup
--- 9982,10007 ----
        break;

      case 8:
!       /* In 32-bit mode, data8 could mean function descriptors too. */
!       if (exp->X_op == O_pseudo_fixup
!           && exp->X_op_symbol
!           && S_GET_VALUE (exp->X_op_symbol) == FUNC_IPLT_RELOC
!           && !(md.flags & EF_IA_64_ABI64))
!         {
!           if (target_big_endian)
!             code = BFD_RELOC_IA64_IPLTMSB;
!           else
!             code = BFD_RELOC_IA64_IPLTLSB;
!           exp->X_op = O_symbol;
!           break;
!         }
!        else {
!          if (target_big_endian)
! 	   code = BFD_RELOC_IA64_DIR64MSB;
!          else
! 	   code = BFD_RELOC_IA64_DIR64LSB;
!          break;
!        }

      case 16:
        if (exp->X_op == O_pseudo_fixup



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