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: Possible race condition with deferred binding on IPF


This is a patch for the IA64 race condition discussed in
http://sources.redhat.com/ml/binutils/2004-03/msg00127.html.

I have tested it on IA64 linux with the gas, gld, and gcc testsuites and
found no regressions.  If approved I would like to see it checked in on
the main line and on the 2.15 branch.  While the likelyhood of running
into a problem due to this race condition is small the fix seems pretty
safe and I think it would be useful to have it in 2.15.

I do not have write access to binutils so I am hoping the approver can
also do the checkin.

Steve Ellcey
sje@cup.hp.com

2004-03-09  Steve Ellcey  <sje@cup.hp.com>

	* elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.


*** src.orig/bfd/elfxx-ia64.c	Tue Mar  9 10:54:53 2004
--- src/bfd/elfxx-ia64.c	Tue Mar  9 10:54:34 2004
*************** static const bfd_byte plt_min_entry[PLT_
*** 635,641 ****
  static const bfd_byte plt_full_entry[PLT_FULL_ENTRY_SIZE] =
  {
    0x0b, 0x78, 0x00, 0x02, 0x00, 0x24,  /*   [MMI]       addl r15=0,r1;;    */
!   0x00, 0x41, 0x3c, 0x30, 0x28, 0xc0,  /*               ld8 r16=[r15],8    */
    0x01, 0x08, 0x00, 0x84,              /*               mov r14=r1;;       */
    0x11, 0x08, 0x00, 0x1e, 0x18, 0x10,  /*   [MIB]       ld8 r1=[r15]       */
    0x60, 0x80, 0x04, 0x80, 0x03, 0x00,  /*               mov b6=r16         */
--- 635,641 ----
  static const bfd_byte plt_full_entry[PLT_FULL_ENTRY_SIZE] =
  {
    0x0b, 0x78, 0x00, 0x02, 0x00, 0x24,  /*   [MMI]       addl r15=0,r1;;    */
!   0x00, 0x41, 0x3c, 0x70, 0x29, 0xc0,  /*               ld8.acq r16=[r15],8*/
    0x01, 0x08, 0x00, 0x84,              /*               mov r14=r1;;       */
    0x11, 0x08, 0x00, 0x1e, 0x18, 0x10,  /*   [MIB]       ld8 r1=[r15]       */
    0x60, 0x80, 0x04, 0x80, 0x03, 0x00,  /*               mov b6=r16         */


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