#
1.12 |
|
17-May-2023 |
guenther |
Add support for disassembling CET (including endbr64), XSS, OSPKE, clflushopt, clwb, ptwrite, rdpid, serialize, WAITPKG, and vmfunc extensions, as well as part of TSX. tpause and umonitor addr size handling isn't 100% correct, but good enough to get the instruction boundary.
Correct decoding of rex64 {fxsave,fxrstor,xsave,xrstor,xsaveopt} to instead use a '64' suffix, ala "fxsave64".
"good enough" ok kettenis@ deraadt@ mlarkin@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.11 |
|
09-Sep-2018 |
guenther |
Teach binutils how to assemble INVPCID and how to disassemble INV{EPT,VPID,PCID}
ok mlarkin@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.10 |
|
10-Sep-2016 |
jsg |
Bring in FreeBSD changes to prevent clang triggering -Wstring-plus-int -Wempty-body and -Wshift-negative-value warnings as binutils is built with -Werror.
ok guenther@ millert@
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.9 |
|
21-Dec-2015 |
jsg |
Recognise the rdseed instruction introduced with Broadwell. Similar to changes made in FreeBSD. ok kettenis@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.8 |
|
17-Jul-2015 |
miod |
Correctly consume mandatory 0x66 prefix when disassembling aes{dec{,last},enc{,last},imc} instructions (regression in 2.17).
Correctly disassemble aeskeygenassist.
Before (binutils 2.15): 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
Currently (binutils 2.17): 0: 66 data16 1: 0f 38 db aesimc %xmm1,%xmm1 4: c8 66 0f 3a enterq $0xf66,$0x3a 8: 44 da 04 66 rexX fiaddl (%rsi,2) c: 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
With these changes: 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 0f 3a df fe 08 aeskeygenassist $0x8,%xmm6,%xmm7
|
#
1.7 |
|
25-May-2015 |
guenther |
Teach binutils the {rd,wr}{fs,gs}base instructions.
Flag bits worked out with kettenis@ ok mlarkin@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.6 |
|
09-Feb-2014 |
guenther |
Add support for i386 XSAVE family of instructions: xgetbv, xsetbv, xsave, xrstor, and xsaveopt.
based on kettenis's original that did xgetbv and xsetbv ok kettenis@
|
Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.5 |
|
18-Oct-2012 |
jsg |
Add support for stac/clac instructions to manipulate the flag that controls the behaviour of Intel's Supervisor Mode Access Prevention (SMAP) feature.
'looks correct' miod@ ok deraadt@
|
#
1.4 |
|
07-Sep-2012 |
naddy |
disassemble the rdrand instruction on i386/amd64
|
Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.3 |
|
10-Jul-2011 |
jsg |
remove a duplicate definition of BadOp(), fixes compilation on i386 ok miod@
|
#
1.2 |
|
24-Apr-2011 |
miod |
A first attempt at merging our local changes and fixes into the 2.17 codebase. ld(1) needs a lot more work, as the upstream code evolved significantly since 2.15, mostly due to changes in PIE binaries layout, and we had already diverged significantly to implement W^X.
|
#
1.1 |
|
24-Apr-2011 |
miod |
branches: 1.1.1; Initial revision
|
#
1.11 |
|
09-Sep-2018 |
guenther |
Teach binutils how to assemble INVPCID and how to disassemble INV{EPT,VPID,PCID}
ok mlarkin@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.10 |
|
10-Sep-2016 |
jsg |
Bring in FreeBSD changes to prevent clang triggering -Wstring-plus-int -Wempty-body and -Wshift-negative-value warnings as binutils is built with -Werror.
ok guenther@ millert@
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.9 |
|
21-Dec-2015 |
jsg |
Recognise the rdseed instruction introduced with Broadwell. Similar to changes made in FreeBSD. ok kettenis@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.8 |
|
17-Jul-2015 |
miod |
Correctly consume mandatory 0x66 prefix when disassembling aes{dec{,last},enc{,last},imc} instructions (regression in 2.17).
Correctly disassemble aeskeygenassist.
Before (binutils 2.15): 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
Currently (binutils 2.17): 0: 66 data16 1: 0f 38 db aesimc %xmm1,%xmm1 4: c8 66 0f 3a enterq $0xf66,$0x3a 8: 44 da 04 66 rexX fiaddl (%rsi,2) c: 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
With these changes: 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 0f 3a df fe 08 aeskeygenassist $0x8,%xmm6,%xmm7
|
#
1.7 |
|
25-May-2015 |
guenther |
Teach binutils the {rd,wr}{fs,gs}base instructions.
Flag bits worked out with kettenis@ ok mlarkin@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.6 |
|
09-Feb-2014 |
guenther |
Add support for i386 XSAVE family of instructions: xgetbv, xsetbv, xsave, xrstor, and xsaveopt.
based on kettenis's original that did xgetbv and xsetbv ok kettenis@
|
Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.5 |
|
18-Oct-2012 |
jsg |
Add support for stac/clac instructions to manipulate the flag that controls the behaviour of Intel's Supervisor Mode Access Prevention (SMAP) feature.
'looks correct' miod@ ok deraadt@
|
#
1.4 |
|
07-Sep-2012 |
naddy |
disassemble the rdrand instruction on i386/amd64
|
Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.3 |
|
10-Jul-2011 |
jsg |
remove a duplicate definition of BadOp(), fixes compilation on i386 ok miod@
|
#
1.2 |
|
24-Apr-2011 |
miod |
A first attempt at merging our local changes and fixes into the 2.17 codebase. ld(1) needs a lot more work, as the upstream code evolved significantly since 2.15, mostly due to changes in PIE binaries layout, and we had already diverged significantly to implement W^X.
|
#
1.1 |
|
24-Apr-2011 |
miod |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.10 |
|
10-Sep-2016 |
jsg |
Bring in FreeBSD changes to prevent clang triggering -Wstring-plus-int -Wempty-body and -Wshift-negative-value warnings as binutils is built with -Werror.
ok guenther@ millert@
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.9 |
|
21-Dec-2015 |
jsg |
Recognise the rdseed instruction introduced with Broadwell. Similar to changes made in FreeBSD. ok kettenis@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.8 |
|
17-Jul-2015 |
miod |
Correctly consume mandatory 0x66 prefix when disassembling aes{dec{,last},enc{,last},imc} instructions (regression in 2.17).
Correctly disassemble aeskeygenassist.
Before (binutils 2.15): 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
Currently (binutils 2.17): 0: 66 data16 1: 0f 38 db aesimc %xmm1,%xmm1 4: c8 66 0f 3a enterq $0xf66,$0x3a 8: 44 da 04 66 rexX fiaddl (%rsi,2) c: 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 data16 12: 0f .byte 0xf 13: 3a df cmp %bh,%bl 15: fe 08 decb (%rax)
With these changes: 0: 66 0f 38 db c8 aesimc %xmm0,%xmm1 5: 66 0f 3a 44 da 04 pclmulqdq $0x4,%xmm2,%xmm3 b: 66 0f 3a 44 ec 10 pclmullqhqdq %xmm4,%xmm5 11: 66 0f 3a df fe 08 aeskeygenassist $0x8,%xmm6,%xmm7
|
#
1.7 |
|
25-May-2015 |
guenther |
Teach binutils the {rd,wr}{fs,gs}base instructions.
Flag bits worked out with kettenis@ ok mlarkin@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.6 |
|
09-Feb-2014 |
guenther |
Add support for i386 XSAVE family of instructions: xgetbv, xsetbv, xsave, xrstor, and xsaveopt.
based on kettenis's original that did xgetbv and xsetbv ok kettenis@
|
Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.5 |
|
18-Oct-2012 |
jsg |
Add support for stac/clac instructions to manipulate the flag that controls the behaviour of Intel's Supervisor Mode Access Prevention (SMAP) feature.
'looks correct' miod@ ok deraadt@
|
#
1.4 |
|
07-Sep-2012 |
naddy |
disassemble the rdrand instruction on i386/amd64
|
Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.3 |
|
10-Jul-2011 |
jsg |
remove a duplicate definition of BadOp(), fixes compilation on i386 ok miod@
|
#
1.2 |
|
24-Apr-2011 |
miod |
A first attempt at merging our local changes and fixes into the 2.17 codebase. ld(1) needs a lot more work, as the upstream code evolved significantly since 2.15, mostly due to changes in PIE binaries layout, and we had already diverged significantly to implement W^X.
|
#
1.1 |
|
24-Apr-2011 |
miod |
branches: 1.1.1; Initial revision
|