This is the mail archive of the binutils@sourceware.org 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 0/4] MIPS/GAS o32 SVR4 PIC JAL macro delay slot fix


Hi,

 While testing microMIPS changes I have noticed one of the JAL macro 
variants used for o32 SVR4 PIC calls fails to emit a NOP between the jump 
and the following reload of the GOT pointer when used in a noreorder 
block.  This causes the reload to happen incorrectly in the delay slot of 
the jump, defeating its purpose.  The other macro variant has the required 
piece of code already in place.

 As this problem affects microMIPS code in the same way, I have updated 
the SVR4 PIC JAL test case for multi-arch support and reused it in the 
same way with the noreorder mode active.  This in turn requires a small 
change to generic GAS test framework TCL code so that dumps that are 
duplicated across a couple of subarchitectures do not need to be 
physically copied in the tree (waste of space and unnecessary maintenance 
burden).  I hope the latter change looks reasonable and is acceptable.

 The end result can be treated as four functionally self-contained changes 
so I am sending them as four distinct patches.  I won't provide the 
corresponding microMIPS change separately though as it affects new code so 
I have integrated it into the microMIPS patch proper.

 All these changes have passed regression testing on mips-sde-elf and 
mips-linux-gnu targets.

  Maciej


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