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] |
This fixes a bug reported on the ia64 linux kernel mailing list. For this testcase (p10) itc.i r18 (p11) itc.d r18 (p6) br.cond.spnt.many page_fault gas was inserting two stop bits in between the itc.i and itc.d instructions. There should have only been one stop bit emitted here. The itc.i instruction must be last in its instruction group, and it must be in a M slot, which forces us to use a template that contains a stop bit inside it. Unfortunately, we fail to clear the bit that indicates a stop bit is required after this instruction, thus prompting us to emit a second spurious stop bit at the end of the bundle. This is easily fixed by clearing the field that indicates a stop bit is required after this instruction. This patch was tested against the binutils testsuite, there were no regressions. This patch was also tested with a linux kernel build. There was only one change. The extra stop bit in the code above disappeared, which is exactly what I wanted. -- Jim Wilson, GNU Tools Support, http://www.specifix.com
Attachment:
patch.last.stop
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |