This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: Possible race condition with deferred binding on IPF
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: binutils at sources dot redhat dot com, zack at codesourcery dot com
- Cc: cary at cup dot hp dot com
- Date: Tue, 9 Mar 2004 11:11:08 -0800 (PST)
- Subject: PATCH: Possible race condition with deferred binding on IPF
- Reply-to: sje at cup dot hp dot com
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 */