Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/external/gpl3/binutils/dist



Module Name:    src
Committed By:   bouyer
Date:           Sat Aug 27 13:19:39 UTC 2011

Modified Files:
        src/external/gpl3/binutils/dist/gas/config: tc-mips.c
        src/external/gpl3/binutils/dist/gas/doc: c-mips.texi
        src/external/gpl3/binutils/dist/include/opcode: mips.h
        src/external/gpl3/binutils/dist/opcodes: mips-opc.c

Log Message:
Add a fix-loongson2f-btb option to gas, from OpenBSD.
This works around a bug in the branch prediction logic of the
CPU which can cause a hard hang. The existing fix-loongson2f-jump
works around the same bug, but by 'fixing' the jump target to be within the
same 256MB region as the kernel. This will (silently) cause a jump
to the wrong address if the jump is intentionally to some other
region (e.g. a call to pmon).
fix-loongson2f-btb instead works around the issue by adding an explicit flush
of the branch target buffer (via a write to a cop0 register) before every
jump register instruction.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/gas/config/tc-mips.c
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/doc/c-mips.texi
cvs rdiff -u -r1.3 -r1.4 \
    src/external/gpl3/binutils/dist/include/opcode/mips.h
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/opcodes/mips-opc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index