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]

patch for AIX ld for new NOP opcodes.



I'm about to commit this, for aix 4.3.3 compatibility in ld.  Tested
by a (linker) bootstrap on rs6000-ibm-aix4.3.3.0.

[No, the linker doesn't work yet.  For one thing, it's missing 64-bit
support.]

-- 
- Geoffrey Keating <geoffk@cygnus.com>

===File ~/patches/cygnus/rs6000-ld-nops.patch===============
2000-08-15  Geoffrey Keating  <geoffk@cygnus.com>

	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
	to the list of NOPs we recognize after a branch-and-link.
	Use the ori NOP when one is needed.

Index: bfd/xcofflink.c
===================================================================
RCS file: /cvs/src/src/bfd/xcofflink.c,v
retrieving revision 1.6
diff -u -p -r1.6 xcofflink.c
--- xcofflink.c	2000/06/16 20:35:08	1.6
+++ xcofflink.c	2000/08/15 23:55:00
@@ -6577,13 +6577,14 @@ _bfd_ppc_xcoff_relocate_section (output_
 	      || strcmp (h->root.root.string, "._ptrgl") == 0)
 	    {
 	      if (next == 0x4def7b82		/* cror 15,15,15 */
-		  || next == 0x4ffffb82)	/* cror 31,31,31 */
+		  || next == 0x4ffffb82		/* cror 31,31,31 */
+		  || next == 0x60000000)	/* ori r0,r0,0 */
 		bfd_put_32 (input_bfd, 0x80410014, pnext); /* lwz r1,20(r1) */
 	    }
 	  else
 	    {
 	      if (next == 0x80410014)		/* lwz r1,20(r1) */
-		bfd_put_32 (input_bfd, 0x4ffffb82, pnext); /* cror 31,31,31 */
+		bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */
 	    }
 	}
 
============================================================

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